Chyd19 commited on
Commit
7c30cdd
Β·
verified Β·
1 Parent(s): 98f1cda

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -3
app.py CHANGED
@@ -256,7 +256,41 @@ def build_ui():
256
  metrics_A = gr.Markdown()
257
  metrics_B = gr.Markdown()
258
  metrics_C = gr.Markdown()
259
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
260
  def compute_metrics_all_pairs_ui(images, captions):
261
  yield ("<div class='loading-line'></div>", "<div class='loading-line'></div>", "<div class='loading-line'></div>")
262
  if len(images) < 1 or len(captions) < 3:
@@ -270,9 +304,9 @@ def build_ui():
270
  yield (f"**BLIP-large ↔ ViT-GPT2**<br>{A}",
271
  f"**BLIP-large ↔ BLIP2**<br>{B}",
272
  f"**ViT-GPT2 ↔ BLIP2**<br>{C}")
273
-
274
  metrics_btn.click(compute_metrics_all_pairs_ui, inputs=[images_state, captions_state],
275
- outputs=[metrics_A, metrics_B, metrics_C])
276
 
277
  # ---------------- NLP ----------------
278
  gr.Markdown("### NLP Analysis", elem_classes="heading-orange")
 
256
  metrics_A = gr.Markdown()
257
  metrics_B = gr.Markdown()
258
  metrics_C = gr.Markdown()
259
+ def compute_metrics_all_pairs_ui(images, captions):
260
+ # Show single spinner for all three
261
+ yield "<div class='loading-line' style='width:100%; margin-bottom:10px;'></div>"
262
+
263
+ if len(images) < 1 or len(captions) < 3:
264
+ msg = "<b>Upload 1 image and generate all 3 captions.</b>"
265
+ yield msg
266
+ return
267
+
268
+ imgs = images * 3
269
+ A = compute_metrics_button(imgs, captions, 0, 1)
270
+ B = compute_metrics_button(imgs, captions, 0, 2)
271
+ C = compute_metrics_button(imgs, captions, 1, 2)
272
+
273
+ # Side-by-side layout for the metrics
274
+ html = f"""
275
+ <div style='display:flex; gap:40px; text-align:left; font-family:monospace;'>
276
+ <div>
277
+ <h4>BLIP-large ↔ ViT-GPT2</h4>
278
+ <pre>{A}</pre>
279
+ </div>
280
+ <div>
281
+ <h4>BLIP-large ↔ BLIP2</h4>
282
+ <pre>{B}</pre>
283
+ </div>
284
+ <div>
285
+ <h4>ViT-GPT2 ↔ BLIP2</h4>
286
+ <pre>{C}</pre>
287
+ </div>
288
+ </div>
289
+ """
290
+ yield html
291
+ metrics_btn.click(compute_metrics_all_pairs_ui, inputs=[images_state, captions_state],
292
+ outputs=[metrics_A, metrics_B, metrics_C])
293
+ """
294
  def compute_metrics_all_pairs_ui(images, captions):
295
  yield ("<div class='loading-line'></div>", "<div class='loading-line'></div>", "<div class='loading-line'></div>")
296
  if len(images) < 1 or len(captions) < 3:
 
304
  yield (f"**BLIP-large ↔ ViT-GPT2**<br>{A}",
305
  f"**BLIP-large ↔ BLIP2**<br>{B}",
306
  f"**ViT-GPT2 ↔ BLIP2**<br>{C}")
307
+
308
  metrics_btn.click(compute_metrics_all_pairs_ui, inputs=[images_state, captions_state],
309
+ outputs=[metrics_A, metrics_B, metrics_C])"""
310
 
311
  # ---------------- NLP ----------------
312
  gr.Markdown("### NLP Analysis", elem_classes="heading-orange")