File size: 3,494 Bytes
b6b08f6 3353a40 af2f25b 477a5c9 4b9f915 020a6fc f9a8fb9 477a5c9 af2f25b 8646ee7 a2ffcba 4b9f915 6a0cf2a 4b9f915 7ca712f 4b9f915 59afa4a 4b9f915 59afa4a 7a306db 4b9f915 59afa4a 7a306db 9d3f500 a2ffcba 9d3f500 075ed3d 9d3f500 5cc94ec a2ffcba 075ed3d 184a373 ae7a8b1 9d3f500 5a5ad3c 184a373 b6eb1a4 184a373 b6eb1a4 184a373 cead56a e540908 4b9f915 184a373 ae7a8b1 5cc94ec 7ca712f fe498d1 cc054c3 7ca712f bda4a03 fe498d1 f421cb2 5a5ad3c 8646ee7 af2f25b |
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 98 99 100 101 102 |
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() |