xp3857's picture
Update app.py
7a306db
raw
history blame
No virus
3.49 kB
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),None,None,None,None,gr.update(value=0)
def end(stamp):
ts = stamp + 6
ti = time.time()
if ti > ts and stamp != 0:
print("Cancelling")
return gr.update(value=1)
else:
print("Passing")
return gr.update(value=0)
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])
b1=btn1.click(start,None,[t_state,t_switch,out1,out2,out3,out4,fac_c])
sta = t_state.change(end,t_state,t_switch,every=1)
b2=btn1.click(im_fn,[put,fac_b,fac_d,h],[out1,fac_b,fac_c])
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)
t_switch.change(clear,t_switch,t_switch, cancels=[sta,b2,b3,b4,b5])
b.queue(concurrency_count=100).launch(show_api=False)
ac()