File size: 6,188 Bytes
9708d87 6fef025 89c5f18 cba1e22 53b0019 0318f31 16cf1b4 15a21d3 16cf1b4 90c3818 16cf1b4 90aa79e 16cf1b4 90c3818 16cf1b4 15a21d3 53b0019 0318f31 c469318 0318f31 b21c027 1627dbd f5b8400 07e4c35 f5b8400 07e4c35 c8c1456 a5da923 f5b8400 d6c665c f5b8400 6fef025 9448672 b412bc1 4918b69 d7b9a12 6fef025 f5b8400 6fef025 f5b8400 0318f31 6fef025 b62315c 11439cd a851219 84ff73b b62315c 04cf984 4a24514 04cf984 4a24514 3ff4504 9de11ac 4a24514 2a606e4 4a24514 ac589ef b6c97f2 b62315c f5b8400 25a1729 6177a01 6fef025 bdcf524 132d5bb 21c4e58 e367d1b 21c4e58 730e2da 132d5bb 781fec0 8f8f343 1871b0f 72297ec 1871b0f 25ced86 8f8f343 bb69629 0318f31 9448672 8831d66 4a24514 8f8f343 9448672 07e4c35 1a54cc7 07e4c35 8f1a94c ac589ef 04cf984 8a7607a 0116e27 1af4957 9708d87 556ec8a 0318f31 b62315c 2944f54 8831d66 2944f54 8831d66 2944f54 6eab85d bb307df e5beca8 8fc64ff 26b4194 21c4e58 0318f31 |
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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
import os
import gradio as gr
from random import randint
from all_models import (models , models_test)
from datetime import datetime
now2 = 0
nb_models=16
def split_models(models,nb_models):
models_temp=[]
models_lis_temp=[]
i=0
for m in models:
models_temp.append(m)
i=i+1
if i%nb_models==0:
models_lis_temp.append(models_temp)
models_temp=[]
return models_lis_temp
models_test=split_models(models,nb_models)
def get_current_time():
now = datetime.now()
now2 = now
current_time = now2.strftime("%Y-%m-%d %H:%M:%S")
ki = f'{kii} {current_time}'
return ki
def load_fn(models):
global models_load
global num_models
global default_models
models_load = {}
num_models = len(models)
if num_models!=0:
default_models = models[:num_models]
else:
default_models = {}
for model in models:
if model not in models_load.keys():
try:
m = gr.load(f'models/{model}')
except Exception as error:
m = gr.Interface(lambda txt: None, ['text'], ['image'])
models_load.update({model: m})
"""models = models_test[1]"""
load_fn(models)
"""models = {}
load_fn(models)"""
def extend_choices(choices):
return choices + (num_models - len(choices)) * ['NA']
def update_imgbox(choices):
choices_plus = extend_choices(choices)
return [gr.Image(None, label=m, visible=(m != 'NA')) for m in choices_plus]
def choice_group_a(group_model_choice):
for m in models_test:
if group_model_choice==m[1]:
choice=m
return choice
def choice_group_b(group_model_choice):
choice=choice_group_a(group_model_choice)
return [gr.Image(label=m, min_width=170, height=170) for m in choice]
def choice_group_c(group_model_choice):
choice=choice_group_a(group_model_choice)
return [gr.Textbox(m, visible=False) for m in choice]
def choice_group_d(var_Test):
(gen_button,stop_button,output,current_models)=var_Test
for m, o in zip(current_models, output):
gen_event = gen_button.click(gen_fn, [m, txt_input], o)
stop_button.click(lambda s: gr.update(interactive=False), None, stop_button, cancels=[gen_event])
return gen_event
def test_pass(test):
print(test)
if test==p:
return gr.Dropdown(label="test Model", show_label=False, choices=list(models_test) , allow_custom_value=True)
def gen_fn(model_str, prompt):
if model_str == 'NA':
return None
noise = str(randint(0, 9999))
return models_load[model_str](f'{prompt} {noise}')
def make_me():
# with gr.Tab('The Dream'):
with gr.Row():
#txt_input = gr.Textbox(lines=3, width=300, max_height=100)
txt_input = gr.Textbox(label='Your prompt:', lines=3, width=300, max_height=100)
gen_button = gr.Button('Generate images', width=150, height=30)
stop_button = gr.Button('Stop', variant='secondary', interactive=False, width=150, height=30)
gen_button.click(lambda s: gr.update(interactive=True), None, stop_button)
gr.HTML("""
<div style="text-align: center; max-width: 100%; margin: 0 auto;">
<body>
</body>
</div>
""")
with gr.Row():
"""output = [gr.Image(label=m, min_width=170, height=170) for m in default_models]
current_models = [gr.Textbox(m, visible=False) for m in default_models]"""
choices=[models_test[0][0]]
output = [gr.Image(label=m, min_width=170, height=170) for m in choices]
current_models = [gr.Textbox(m, visible=False) for m in choices]
for m, o in zip(current_models, output):
gen_event = gen_button.click(gen_fn, [m, txt_input], o)
stop_button.click(lambda s: gr.update(interactive=False), None, stop_button, cancels=[gen_event])
"""with gr.Accordion('Model selection'):
model_choice = gr.CheckboxGroup(models, label=f' {num_models} different models selected', value=default_models, multiselect=True, max_choices=num_models, interactive=True, filterable=False)
model_choice.change(update_imgbox, (gen_button,stop_button,group_model_choice), output)
model_choice.change(extend_choices, model_choice, current_models)
"""
"""with gr.Accordion('Group Model selection'):
group_model_choice = gr.CheckboxGroup(models_test, label=f' {len(models_test)} different group models', value=1, multiselect=False, max_choices=1, interactive=True, filterable=False)
"""
with gr.Accordion("test", open=True):
group_model_choice = gr.Dropdown(label="test Model", show_label=False, choices=list([]) , allow_custom_value=True)
group_model_choice.change(choice_group_b,group_model_choice,output)
group_model_choice.change(choice_group_c,group_model_choice,current_models)
"""group_model_choice.change(choice_group_d,(gen_button,stop_button,output,current_models),gen_event)"""
with gr.Row():
txt_input_p = gr.Textbox(label='test', lines=1, width=300, max_height=100)
test_button = gr.Button('test', width=30, height=10)
test_button.click(test_pass,txt_input_p,group_model_choice)
print(os.getenv('p')
with gr.Row():
gr.HTML("""
<div class="footer">
<p> Based on the <a href="https://huggingface.co/spaces/derwahnsinn/TestGen">TestGen</a> Space by derwahnsinn, the <a href="https://huggingface.co/spaces/RdnUser77/SpacIO_v1">SpacIO</a> Space by RdnUser77 and Omnibus's Maximum Multiplier!
</p>
""")
js_code = """
console.log('ghgh');
"""
with gr.Blocks(css="div.float.svelte-1mwvhlq { position: absolute; top: var(--block-label-margin); left: var(--block-label-margin); background: none; border: none;}") as demo:
gr.Markdown("<script>" + js_code + "</script>")
make_me()
demo.queue(concurrency_count=999)
demo.launch()
|