charliebaby2023 commited on
Commit
9b21a4a
Β·
verified Β·
1 Parent(s): 4c79143

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +69 -1
app.py CHANGED
@@ -67,4 +67,72 @@ def make_me():
67
  model_group_selector = gr.Dropdown(
68
  choices=list(model_groups.keys()), label="Select Model Group", value="Group A"
69
  )
70
- txt_input = gr.Textbox(label='You
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  model_group_selector = gr.Dropdown(
68
  choices=list(model_groups.keys()), label="Select Model Group", value="Group A"
69
  )
70
+ txt_input = gr.Textbox(label='Your prompt:', lines=2, value=kii)
71
+ gen_button = gr.Button('Generate images', elem_id="generate-btn")
72
+ stop_button = gr.Button('Stop', variant='secondary', interactive=False)
73
+
74
+ gr.HTML("""
75
+ <div style="text-align: center; max-width: 100%; margin: 0 auto;">
76
+ <body></body>
77
+ </div>
78
+ """)
79
+
80
+ with gr.Row():
81
+ # Output elements
82
+ output = gr.State([])
83
+ tally_boxes = gr.State({})
84
+ output_display = gr.Column()
85
+ with output_display:
86
+ result_images = []
87
+ tally_counters = []
88
+
89
+ def update_outputs(group_name):
90
+ selected_models = model_groups[group_name]
91
+ result_images.clear()
92
+ tally_counters.clear()
93
+ for model in selected_models:
94
+ result_images.append(gr.Image(label=model, width=170, height=170))
95
+ tally_counters.append(gr.Textbox(value="0", label=f"Tally for {model}", interactive=False))
96
+ return result_images, tally_counters, {model: 0 for model in selected_models}
97
+
98
+ model_group_selector.change(
99
+ update_outputs, [model_group_selector], [output, tally_boxes]
100
+ )
101
+
102
+ def generate_images(prompt, outputs, tallies):
103
+ for idx, model_element in enumerate(outputs):
104
+ model_str = list(tallies.keys())[idx]
105
+ result, tallies = gen_fn(model_str, prompt, tallies)
106
+ model_element.update(value=result)
107
+ for idx, tally_box in enumerate(tally_counters):
108
+ tally_box.update(value=str(tallies[list(tallies.keys())[idx]]))
109
+ return tallies
110
+
111
+ gen_button.click(
112
+ generate_images,
113
+ inputs=[txt_input, output, tally_boxes],
114
+ outputs=[tally_boxes],
115
+ )
116
+
117
+
118
+ js_code = """
119
+ <script>
120
+ const originalScroll = window.scrollTo;
121
+ const originalShowToast = gradio.Toast.show;
122
+ gradio.Toast.show = function() {
123
+ originalShowToast.apply(this, arguments);
124
+ window.scrollTo = function() {};
125
+ };
126
+ setTimeout(() => {
127
+ window.scrollTo = originalScroll;
128
+ }, 3000); // Restore scroll function after 3 seconds
129
+ </script>
130
+ """
131
+
132
+ with gr.Blocks() as demo:
133
+ gr.Markdown("<div></div>")
134
+ make_me()
135
+ gr.Markdown(js_code)
136
+
137
+ demo.queue(concurrency_count=50)
138
+ demo.launch()