Spaces:
Runtime error
Runtime error
import gradio as gr | |
import os | |
import sys | |
from pathlib import Path | |
import time | |
models =[ | |
"", | |
"CompVis/stable-diffusion-v1-4", | |
"runwayml/stable-diffusion-v1-5", | |
"prompthero/openjourney", | |
"stabilityai/stable-diffusion-2-1", | |
"stabilityai/stable-diffusion-2-1-base", | |
"andite/anything-v4.0", | |
"Linaqruf/anything-v3.0", | |
"eimiss/EimisAnimeDiffusion_1.0v", | |
"nitrosocke/Nitro-Diffusion", | |
"wavymulder/portraitplus", | |
"22h/vintedois-diffusion-v0-1", | |
"dreamlike-art/dreamlike-photoreal-2.0", | |
"dreamlike-art/dreamlike-diffusion-1.0", | |
"wavymulder/Analog-Diffusion", | |
"nitrosocke/redshift-diffusion", | |
"claudfuen/photorealistic-fuen-v1", | |
"prompthero/openjourney-v2", | |
"johnslegers/epic-diffusion", | |
"nitrosocke/Arcane-Diffusion", | |
"darkstorm2150/Protogen_x5.8_Official_Release", | |
] | |
model_1=models[1] | |
model_2=models[2] | |
model_3=models[3] | |
model_4=models[4] | |
model_5=models[5] | |
model_6=models[6] | |
model_7=models[7] | |
model_8=models[8] | |
model_9=models[9] | |
model_10=models[10] | |
model_11=models[11] | |
model_12=models[12] | |
model_13=models[13] | |
model_14=models[14] | |
model_15=models[15] | |
model_16=models[16] | |
model_17=models[17] | |
model_18=models[18] | |
model_19=models[19] | |
model_20=models[20] | |
text_gen=gr.Interface.load("spaces/Omnibus/MagicPrompt-Stable-Diffusion_link",live=True, preprocess=True) | |
proc1=gr.Interface.load(f"models/{model_1}",live=False,preprocess=True, postprocess=False) | |
proc2=gr.Interface.load(f"models/{model_2}",live=False,preprocess=True, postprocess=False) | |
proc3=gr.Interface.load(f"models/{model_3}",live=False,preprocess=True, postprocess=False) | |
proc4=gr.Interface.load(f"models/{model_4}",live=False,preprocess=True, postprocess=False) | |
proc5=gr.Interface.load(f"models/{model_5}",live=False,preprocess=True, postprocess=False) | |
proc6=gr.Interface.load(f"models/{model_6}",live=False,preprocess=True, postprocess=False) | |
proc7=gr.Interface.load(f"models/{model_7}",live=False,preprocess=True, postprocess=False) | |
proc8=gr.Interface.load(f"models/{model_8}",live=False,preprocess=True, postprocess=False) | |
proc9=gr.Interface.load(f"models/{model_9}",live=False,preprocess=True, postprocess=False) | |
proc10=gr.Interface.load(f"models/{model_10}",live=False,preprocess=True, postprocess=False) | |
proc11=gr.Interface.load(f"models/{model_11}",live=False,preprocess=True, postprocess=False) | |
proc12=gr.Interface.load(f"models/{model_12}",live=False,preprocess=True, postprocess=False) | |
proc13=gr.Interface.load(f"models/{model_13}",live=False,preprocess=True, postprocess=False) | |
proc14=gr.Interface.load(f"models/{model_14}",live=False,preprocess=True, postprocess=False) | |
proc15=gr.Interface.load(f"models/{model_15}",live=False,preprocess=True, postprocess=False) | |
proc16=gr.Interface.load(f"models/{model_16}",live=False,preprocess=True, postprocess=False) | |
proc17=gr.Interface.load(f"models/{model_17}",live=False,preprocess=True, postprocess=False) | |
proc18=gr.Interface.load(f"models/{model_18}",live=False,preprocess=True, postprocess=False) | |
proc19=gr.Interface.load(f"models/{model_19}",live=False,preprocess=True, postprocess=False) | |
proc20=gr.Interface.load(f"models/{model_20}",live=False,preprocess=True, postprocess=False) | |
def get_prompts(prompt_text): | |
return text_gen(prompt_text) | |
def send_it1(inputs,proc1=proc1): | |
output1=proc1(inputs) | |
return(output1) | |
def send_it2(inputs,proc2=proc2): | |
output2=proc2(inputs) | |
return(output2) | |
def send_it3(inputs,proc3=proc3): | |
output3=proc3(inputs) | |
return(output3) | |
def send_it4(inputs,proc4=proc4): | |
output4=proc4(inputs) | |
return(output4) | |
def send_it5(inputs,proc5=proc5): | |
output5=proc5(inputs) | |
return(output5) | |
def send_it6(inputs,proc6=proc6): | |
output6=proc6(inputs) | |
return(output6) | |
def send_it7(inputs,proc7=proc7): | |
output7=proc7(inputs) | |
return(output7) | |
def send_it8(inputs,proc8=proc8): | |
output8=proc8(inputs) | |
return(output8) | |
def send_it9(inputs,proc9=proc9): | |
output9=proc9(inputs) | |
return(output9) | |
def send_it10(inputs,proc10=proc10): | |
output10=proc10(inputs) | |
return(output10) | |
def send_it11(inputs,proc11=proc11): | |
output11=proc11(inputs) | |
return(output11) | |
def send_it12(inputs,proc12=proc12): | |
output12=proc12(inputs) | |
return(output12) | |
def send_it13(inputs,proc13=proc13): | |
output13=proc13(inputs) | |
return(output13) | |
def send_it14(inputs,proc14=proc14): | |
output14=proc14(inputs) | |
return(output14) | |
def send_it15(inputs,proc15=proc15): | |
output15=proc15(inputs) | |
return(output15) | |
def send_it16(inputs,proc16=proc16): | |
output16=proc16(inputs) | |
return(output16) | |
def send_it17(inputs,proc17=proc17): | |
output17=proc17(inputs) | |
return(output17) | |
def send_it18(inputs,proc18=proc18): | |
output18=proc18(inputs) | |
return(output18) | |
def send_it19(inputs,proc19=proc19): | |
output19=proc19(inputs) | |
return(output19) | |
def send_it20(inputs,proc20=proc20): | |
output20=proc20(inputs) | |
return(output20) | |
with gr.Blocks(css="cake.css") as myface: | |
gr.HTML("""<head><meta http-equiv="refresh" content="600"></head>""") | |
with gr.Column(): | |
gr.HTML("""<title>Top 20 Diffuion</title>""") | |
gr.Markdown("""<center><h1>Top 20 Diffusion</h1><center>""") | |
gr.Markdown("""<center><h4>20 Popular Diffusion Models</h4><center>""") | |
gr.Markdown("""<center><h4>Comparison Space</h4><center>""") | |
with gr.Accordion("Details",open=False): | |
with gr.Tab("Description"): | |
gr.Markdown("""<center> | |
<h4>Enter your Prompt into the "Short Prompt" box and click "Magic Prompt" to load a prettified version of your prompt<br> | |
When you are satisfied with the prompt that is in the "Text to Image" box, click "Launch" to load the Models.<br><br> | |
Images load faster with a simpler prompt.<br> | |
<br> | |
Images will cancel loading after 1 minute to preserve the quality of the queue.<br> | |
Simply Click "Launch" again to try loading the incomplete images.<br> | |
Page refreshes every 10 minutes. | |
<br> | |
<br> | |
Not responsible for content, use at your own risk. | |
</h4></center>""") | |
with gr.Tab("DIY"): | |
gr.HTML("""<div style="text-align:Left;"> | |
<h4>Easy Clone:<br><br> | |
Copy/Paste this code in your new app.py file<br><br> | |
import gradio as gr<br> | |
max_d=gr.Interface.load("spaces/Omnibus/Top-20-Diffusion")<br> | |
max_d.launch()<br> | |
</h4></div>""") | |
with gr.Tab("Credits"): | |
with gr.Row(): | |
with gr.Column(style="text-align:left;"): | |
gr.HTML(""" | |
<div style="vertical-align:center"> | |
<br> | |
<p>Magic Prompt: | |
<p><a href="https://huggingface.co/spaces/Gustavosta/MagicPrompt-Stable-Diffusion">Magic Prompt Stable Diffusion</a></p> | |
<p><a href="https://huggingface.co/spaces/huggingface-projects/magic-diffusion">Magic Diffusion</a></p> | |
</div> | |
""") | |
with gr.Column(style="text-align:left;"): | |
gr.HTML(f""" | |
<div style="vertical-align:center"> | |
<br> | |
<p>Models by:<br> | |
<a href="https://huggingface.co/{models[1]}">{models[1]}</a><br> | |
<a href="https://huggingface.co/{models[2]}">{models[2]}</a><br> | |
<a href="https://huggingface.co/{models[3]}">{models[3]}</a><br> | |
<a href="https://huggingface.co/{models[4]}">{models[4]}</a><br> | |
<a href="https://huggingface.co/{models[5]}">{models[5]}</a><br> | |
<a href="https://huggingface.co/{models[6]}">{models[6]}</a><br> | |
<a href="https://huggingface.co/{models[7]}">{models[7]}</a><br> | |
<a href="https://huggingface.co/{models[8]}">{models[8]}</a><br> | |
<a href="https://huggingface.co/{models[9]}">{models[9]}</a><br> | |
<a href="https://huggingface.co/{models[10]}">{models[10]}</a><br> | |
<a href="https://huggingface.co/{models[11]}">{models[11]}</a><br> | |
<a href="https://huggingface.co/{models[12]}">{models[12]}</a><br> | |
<a href="https://huggingface.co/{models[13]}">{models[13]}</a><br> | |
<a href="https://huggingface.co/{models[14]}">{models[14]}</a><br> | |
<a href="https://huggingface.co/{models[15]}">{models[15]}</a><br> | |
<a href="https://huggingface.co/{models[16]}">{models[16]}</a><br> | |
<a href="https://huggingface.co/{models[17]}">{models[17]}</a><br> | |
<a href="https://huggingface.co/{models[18]}">{models[18]}</a><br> | |
<a href="https://huggingface.co/{models[19]}">{models[19]}</a><br> | |
<a href="https://huggingface.co/{models[20]}">{models[20]}</a><br> | |
</p> | |
</div> | |
""") | |
with gr.Tab("Tools"): | |
with gr.Tab("Draw"): | |
with gr.Row(): | |
with gr.Column(style="width=50%"): | |
gr.Pil(label="Crop") | |
with gr.Column(style="width=50%"): | |
gr.Pil(label="Draw") | |
with gr.Tab("View"): | |
with gr.Row(): | |
with gr.Column(): | |
gr.Pil(label="Crop").style(style="height=500") | |
with gr.Tab("Color Picker"): | |
with gr.Row(): | |
with gr.Column(scale=50): | |
gr.ColorPicker(label="Color", interactive=True) | |
with gr.Column(scale=50): | |
gr.ImagePaint(label="Draw", interactive=True) | |
with gr.Tab("Text"): | |
with gr.Row(): | |
with gr.Column(scale=50): | |
gr.Textbox(label="", lines=8, interactive=True) | |
with gr.Column(scale=50): | |
gr.Textbox(label="", lines=8, interactive=True) | |
with gr.Box(visible=True) as timo: | |
with gr.Row(): | |
with gr.Column(): | |
input_text=gr.Textbox(label="Short Prompt") | |
prompt=gr.Textbox(label="Text to Image",visible=True) | |
with gr.Column(): | |
see_prompts=gr.Button("Magic Prompt") | |
with gr.Row(): | |
run=gr.Button("Launch") | |
clear_btn=gr.Button("Clear") | |
with gr.Row(): | |
output1=gr.Image(label=(f"{model_1}"),visible=True) | |
output2=gr.Image(label=(f"{model_2}"),visible=True) | |
output3=gr.Image(label=(f"{model_3}"),visible=True) | |
output4=gr.Image(label=(f"{model_4}"),visible=True) | |
with gr.Row(): | |
output5=gr.Image(label=(f"{model_5}"),visible=True) | |
output6=gr.Image(label=(f"{model_6}"),visible=True) | |
output7=gr.Image(label=(f"{model_7}"),visible=True) | |
output8=gr.Image(label=(f"{model_8}"),visible=True) | |
with gr.Row(): | |
output9=gr.Image(label=(f"{model_9}"),visible=True) | |
output10=gr.Image(label=(f"{model_10}"),visible=True) | |
output11=gr.Image(label=(f"{model_11}"),visible=True) | |
output12=gr.Image(label=(f"{model_12}"),visible=True) | |
with gr.Row(): | |
output13=gr.Image(label=(f"{model_13}"),visible=True) | |
output14=gr.Image(label=(f"{model_14}"),visible=True) | |
output15=gr.Image(label=(f"{model_15}"),visible=True) | |
output16=gr.Image(label=(f"{model_16}"),visible=True) | |
with gr.Row(): | |
output17=gr.Image(label=(f"{model_17}"),visible=True) | |
output18=gr.Image(label=(f"{model_18}"),visible=True) | |
output19=gr.Image(label=(f"{model_19}"),visible=True) | |
output20=gr.Image(label=(f"{model_20}"),visible=True) | |
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) | |
def clear_it(val): | |
if int(val) != 0: | |
val = 0 | |
else: | |
val = 0 | |
pass | |
return val | |
def sesh_end(cnt,t_stamp): | |
to = t_stamp + 60 | |
et = time.time() | |
if et > to and t_stamp != 0: | |
d=gr.update(value=0) | |
tog=gr.update(value=1) | |
#print(f'to: {to} et: {et}') | |
else: | |
if cnt != 0: | |
d=gr.update(value=et) | |
else: | |
d=gr.update(value=0) | |
tog=gr.update(value=0) | |
#print (f'passing: to: {to} et: {et}') | |
pass | |
return d,tog | |
def sesh_start(): | |
t = time.gmtime() | |
t_stamp = time.time() | |
current_time = time.strftime("%H:%M:%S", t) | |
return gr.update(value=t_stamp),gr.update(value=t_stamp),gr.update(value=0) | |
def clear_fn(): | |
return None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None | |
start_box.change(sesh_end,[start_box,end_box],[start_box,tog_box],every=1,show_progress=False) | |
run.click(sesh_start,None,[start_box,end_box,tog_box]) | |
run1=run.click(send_it1, inputs=[prompt], outputs=[output1]) | |
run2=run.click(send_it2, inputs=[prompt], outputs=[output2]) | |
run3=run.click(send_it3, inputs=[prompt], outputs=[output3]) | |
run4=run.click(send_it4, inputs=[prompt], outputs=[output4]) | |
run5=run.click(send_it5, inputs=[prompt], outputs=[output5]) | |
run6=run.click(send_it6, inputs=[prompt], outputs=[output6]) | |
run7=run.click(send_it7, inputs=[prompt], outputs=[output7]) | |
run8=run.click(send_it8, inputs=[prompt], outputs=[output8]) | |
run9=run.click(send_it9, inputs=[prompt], outputs=[output9]) | |
run10=run.click(send_it10, inputs=[prompt], outputs=[output10]) | |
run11=run.click(send_it11, inputs=[prompt], outputs=[output11]) | |
run12=run.click(send_it12, inputs=[prompt], outputs=[output12]) | |
run13=run.click(send_it13, inputs=[prompt], outputs=[output13]) | |
run14=run.click(send_it14, inputs=[prompt], outputs=[output14]) | |
run15=run.click(send_it15, inputs=[prompt], outputs=[output15]) | |
run16=run.click(send_it16, inputs=[prompt], outputs=[output16]) | |
run17=run.click(send_it17, inputs=[prompt], outputs=[output17]) | |
run18=run.click(send_it18, inputs=[prompt], outputs=[output18]) | |
run19=run.click(send_it19, inputs=[prompt], outputs=[output19]) | |
run20=run.click(send_it20, inputs=[prompt], outputs=[output20]) | |
prompt1=see_prompts.click(get_prompts, inputs=[input_text], outputs=[prompt],cancels=[run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20]) | |
clear_btn.click(clear_fn, None, | |
[input_text,prompt,output1,output2,output3,output4,output5,output6,output7,output8,output9,output10,output11,output12,output13,output14,output15,output16,output17,output18,output19,output20], | |
cancels=[prompt1,run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20]) | |
tog_box.change(clear_it,tog_box,tog_box,cancels=[run1,run2,run3,run4,run5,run6,run7,run8,run9,run10,run11,run12,run13,run14,run15,run16,run17,run18,run19,run20,prompt1]) | |
myface.queue(concurrency_count=600,status_update_rate=1) | |
myface.launch(inline=True,show_api=False) |