Spaces:
Running
Running
import gradio as gr | |
import requests | |
import os | |
import random | |
import time | |
name2 = "runwayml/stable-diffusion-v1-5" | |
models=[ | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
gr.Interface.load(f"models/{name2}"), | |
] | |
o = os.getenv("P") | |
def ac(): | |
def clear(v): | |
if int(v) != 0: | |
v = 0 | |
else: | |
v = 0 | |
pass | |
return gr.update(value=0) | |
def start(): | |
stamp = time.time() | |
return gr.update(value=stamp),gr.update(value=0) | |
def end(stamp): | |
ts = stamp + 6 | |
ti = time.time() | |
if ti > ts and stamp != 0: | |
t=gr.update(value=1) | |
print("Cancelling") | |
else: | |
t=gr.update(value=0) | |
print("Passing") | |
pass | |
return t | |
def im_fn(put,fac="",fac_c=None,h=None): | |
if h == o: | |
if int(fac_c)==1: | |
rn = random.randint(0, 19) | |
model=models[rn] | |
put = f"{put}{fac}" | |
fac = f"{fac} " | |
print (rn) | |
return model(put),fac,1 | |
elif int(fac_c)!=1: | |
return None,"",0 | |
elif h != o: | |
return(None,"",0) | |
def cl_fac(): | |
return "",0,None,None,None,None | |
with gr.Blocks() as b: | |
with gr.Row(): | |
put = gr.Textbox() | |
btn1 = gr.Button() | |
with gr.Row(): | |
out1 = gr.Image() | |
out2 = gr.Image() | |
with gr.Row(): | |
out3 = gr.Image() | |
out4 = gr.Image() | |
with gr.Row(visible=False): | |
h=gr.Textbox("Q") | |
t_state=gr.Number() | |
t_switch=gr.Textbox(value=0) | |
fac_b = gr.Textbox(value="",visible=False) | |
fac_c = gr.Textbox(value=0) | |
fac_d = gr.Textbox(value=1) | |
b3=out1.change(im_fn,[put,fac_b,fac_c,h],[out2,fac_b,fac_c]) | |
b4=out2.change(im_fn,[put,fac_b,fac_c,h],[out3,fac_b,fac_c]) | |
b5=out3.change(im_fn,[put,fac_b,fac_c,h],[out4,fac_b,fac_c]) | |
b0=btn1.click(cl_fac,None,[fac_b,fac_c,out1,out2,out3,out4],show_progress=False) | |
b1=btn1.click(start,None,[t_state,t_switch]) | |
b2=btn1.click(im_fn,[put,fac_b,fac_d,h],[out1,fac_b,fac_c]) | |
sta = t_state.change(end,t_state,t_switch,every=1) | |
#b3=out1.change(im_fn,[put,fac_b,fac_c,h],[out2,fac_b,fac_c]) | |
#b4=out2.change(im_fn,[put,fac_b,fac_c,h],[out3,fac_b,fac_c]) | |
#b5=out3.change(im_fn,[put,fac_b,fac_c,h],[out4,fac_b,fac_c]) | |
t_switch.change(clear,t_switch,t_switch, cancels=[sta,b2,b3,b4,b5]) | |
b.queue(concurrency_count=100).launch(show_api=False) | |
ac() |