Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import os | |
| import requests | |
| import json | |
| import base64 | |
| from io import BytesIO | |
| from PIL import Image | |
| from huggingface_hub import login | |
| from css_html_js import custom_css | |
| from about import ( | |
| CITATION_BUTTON_LABEL, | |
| CITATION_BUTTON_TEXT, | |
| EVALUATION_QUEUE_TEXT, | |
| INTRODUCTION_TEXT, | |
| LLM_BENCHMARKS_TEXT, | |
| TITLE, | |
| ) | |
| myip = "34.219.98.113" | |
| myport=8080 | |
| is_spaces = True if "SPACE_ID" in os.environ else False | |
| is_shared_ui = False | |
| def process_image_from_binary(img_stream): | |
| if img_stream is None: | |
| print("no image binary") | |
| return | |
| image_data = base64.b64decode(img_stream) | |
| image_bytes = BytesIO(image_data) | |
| img = Image.open(image_bytes) | |
| return img | |
| def generate_img(concept, prompt, seed, steps): | |
| print(f"my IP is {myip}, my port is {myport}") | |
| response = requests.post('http://{}:{}/generate'.format(myip, myport), | |
| json={"concept": concept, "prompt": prompt, "seed": seed, "steps": steps}, | |
| timeout=(10, 1200)) | |
| print(f"result: {response}") | |
| image = None | |
| if response.status_code == 200: | |
| response_json = response.json() | |
| print(response_json) | |
| image = process_image_from_binary(response_json['image']) | |
| else: | |
| print(f"Request failed with status code {response.status_code}") | |
| return image | |
| with gr.Blocks() as demo: | |
| gr.HTML(TITLE) | |
| gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text") | |
| with gr.Row() as advlearn: | |
| with gr.Column(): | |
| # gr.Markdown("Please upload your model id.") | |
| drop_text = gr.Dropdown(["Object-Church", "Object-Parachute", "Object-Garbage_Truck", | |
| "Style-VanGogh","Concept-Nudity", "None"], | |
| label="AdvUnlearn Text Encoder") | |
| with gr.Column(): | |
| text_input = gr.Textbox(label="Prompt") | |
| with gr.Row(): | |
| with gr.Column(): | |
| with gr.Row(): | |
| seed = gr.Textbox(label="seed", value=666) | |
| with gr.Row(): | |
| steps = gr.Textbox(label="num_steps", value=100) | |
| with gr.Row(): | |
| start_button = gr.Button("AdvUnlearn",size='lg') | |
| with gr.Column(min_width=512): | |
| result_img = gr.Image(label="Image Gnerated by AdvUnlearn",width=512,show_share_button=False,show_download_button=False) | |
| start_button.click(fn=generate_img, inputs=[drop_text, text_input, seed, steps], outputs=result_img, api_name="generate") | |
| demo.launch() |