Spaces:
Runtime error
Runtime error
File size: 3,266 Bytes
063b292 3a46525 063b292 a7d308b 3a46525 d4423e5 0bb5a0b 063b292 88ba3ca 063b292 3a46525 d4423e5 3a46525 063b292 a7d308b 88ba3ca 063b292 3a46525 063b292 3a46525 063b292 3a46525 063b292 a7d308b 063b292 88ba3ca 063b292 d4423e5 063b292 6d17160 88ba3ca 7e8dfc1 3a46525 7e8dfc1 3a46525 88ba3ca d4423e5 88ba3ca 3a46525 88ba3ca 3a46525 88ba3ca 3a46525 88ba3ca 7e8dfc1 3a46525 88ba3ca 3a46525 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
import gradio as gr
import time
import random
random_seed = None
models = [
"Yntec/ChickFlick",
"Yntec/CrystalReality",
"Yntec/DegreesOfFreedom",
]
model_functions = {}
model_idx = 1
for model_path in models:
try:
model_functions[model_idx] = gr.Interface.load(f"models/{model_path}", live=False, preprocess=True, postprocess=False)
except Exception as error:
def the_fn(txt, seed=None):
return None
model_functions[model_idx] = gr.Interface(fn=the_fn, inputs=["text", "number"], outputs=["image"])
model_idx += 1
def send_it_idx(idx):
def send_it_fn(prompt):
global random_seed
output = (model_functions.get(idx) or model_functions.get(1))(prompt, random_seed)
return output
return send_it_fn
def get_prompts(prompt_text):
return prompt_text
def clear_it(val):
return 0
def all_task_end(cnt, t_stamp):
to = t_stamp + 360
et = time.time()
if et > to and t_stamp != 0:
d = gr.update(value=0)
tog = gr.update(value=1)
else:
d = gr.update(value=et if cnt != 0 else 0)
tog = gr.update(value=0)
return d, tog
def all_task_start():
global random_seed
random_seed = random.randint(0, 2**32 - 1)
t_stamp = time.time()
return gr.update(value=t_stamp), gr.update(value=t_stamp), gr.update(value=0)
def clear_fn():
nn = len(models)
return tuple([None, *[None for _ in range(nn)]])
with gr.Blocks(title="SD Models") as my_interface:
with gr.Column(scale=12):
with gr.Row():
with gr.Row(scale=6):
primary_prompt = gr.Textbox(label="Prompt", value="")
with gr.Row(scale=6):
with gr.Row():
run = gr.Button("Run", variant="primary")
clear_btn = gr.Button("Clear")
with gr.Row():
sd_outputs = {}
model_idx = 1
for model_path in models:
with gr.Column(scale=3, min_width=320):
with gr.Box():
sd_outputs[model_idx] = gr.Image(label=model_path)
model_idx += 1
with gr.Row(visible=False):
start_box = gr.Number(interactive=False)
end_box = gr.Number(interactive=False)
tog_box = gr.Textbox(value=0, interactive=False)
start_box.change(all_task_end, [start_box, end_box], [start_box, tog_box], every=1, show_progress=True)
primary_prompt.submit(all_task_start, None, [start_box, end_box, tog_box])
run.click(all_task_start, None, [start_box, end_box, tog_box])
runs_dict = {}
model_idx = 1
for model_path in models:
runs_dict[model_idx] = run.click(send_it_idx(model_idx), inputs=[primary_prompt], outputs=[sd_outputs[model_idx]])
model_idx += 1
clear_btn.click(clear_fn, None, [primary_prompt, *list(sd_outputs.values())], cancels=[*list(runs_dict.values())])
tog_box.change(clear_it, tog_box, tog_box, cancels=[*list(runs_dict.values())])
text_gen1 = gr.Interface.load("spaces/phenomenon1981/MagicPrompt-Stable-Diffusion")
my_interface.queue(concurrency_count=600, status_update_rate=1)
my_interface.launch(inline=True, show_api=True)
|