alexnasa commited on
Commit
8bd5eb5
·
verified ·
1 Parent(s): 02767ba

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -11
app.py CHANGED
@@ -127,9 +127,8 @@ captions = []
127
  face_btns = []
128
  det_btns = []
129
  vlm_btns = []
130
- accordions = []
131
  idip_checkboxes = []
132
- accordion_states = []
133
 
134
  ckpt_root = "/data/checkpoints/XVerse"
135
  model.clear_modulation_adapters()
@@ -359,7 +358,7 @@ def create_image_input(index, open=True, indices_state=None):
359
  with gr.Column():
360
  with gr.Accordion(f"Input Image {index + 1}", open=accordion_state.value) as accordion:
361
  image = gr.Image(type="filepath", label=f"Image {index + 1}")
362
- caption = gr.Textbox(label=f"Caption {index + 1}", value="")
363
  id_ip_checkbox = gr.Checkbox(value=False, label=f"ID or not {index + 1}", visible=True)
364
  with gr.Row():
365
  vlm_btn = gr.Button("Generate Caption")
@@ -377,6 +376,19 @@ def create_image_input(index, open=True, indices_state=None):
377
  )
378
  return image, caption, face_btn, det_btn, vlm_btn, accordion_state, accordion, id_ip_checkbox
379
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
 
381
  def merge_instances(orig_img, indices, ins_bboxes, ins_images):
382
  orig_image_width, orig_image_height = orig_img.width, orig_img.height
@@ -460,20 +472,19 @@ if __name__ == "__main__":
460
  with gr.Column():
461
  with gr.Row():
462
  for i in range(num_inputs):
463
- image, caption, face_btn, det_btn, vlm_btn, accordion_state, accordion, id_ip_checkbox = create_image_input(i, open=i<2, indices_state=indices_state)
464
  images.append(image)
465
  idip_checkboxes.append(id_ip_checkbox)
466
  captions.append(caption)
467
  face_btns.append(face_btn)
468
  det_btns.append(det_btn)
469
  vlm_btns.append(vlm_btn)
470
- accordion_states.append(accordion_state)
471
-
472
- accordions.append(accordion)
473
 
474
  prompt = gr.Textbox(label="Prompt", value="")
475
  gen_btn = gr.Button("Generate", variant="primary")
476
- with gr.Accordion("Advanced Settings", open=False):
 
 
477
 
478
  with gr.Row():
479
  target_height = gr.Slider(512, 1024, step=128, value=768, label="Generated Height", info="")
@@ -559,7 +570,7 @@ if __name__ == "__main__":
559
 
560
  with gr.Column():
561
  output = gr.Image(label="Result")
562
- seed = gr.Number(value=42, label="Seed", info="")
563
 
564
 
565
  gen_btn.click(
@@ -583,8 +594,7 @@ if __name__ == "__main__":
583
  face_btns[i].click(crop_face_img, inputs=[images[i]], outputs=[images[i]])
584
  det_btns[i].click(det_seg_img, inputs=[images[i], captions[i]], outputs=[images[i]])
585
  vlm_btns[i].click(vlm_img_caption, inputs=[images[i]], outputs=[captions[i]])
586
- accordion_states[i].change(fn=lambda x, state, index=i: change_accordion(x, index, state), inputs=[accordion_states[i], indices_state], outputs=[accordions[i], indices_state])
587
-
588
 
589
  demo.queue()
590
  demo.launch()
 
127
  face_btns = []
128
  det_btns = []
129
  vlm_btns = []
130
+
131
  idip_checkboxes = []
 
132
 
133
  ckpt_root = "/data/checkpoints/XVerse"
134
  model.clear_modulation_adapters()
 
358
  with gr.Column():
359
  with gr.Accordion(f"Input Image {index + 1}", open=accordion_state.value) as accordion:
360
  image = gr.Image(type="filepath", label=f"Image {index + 1}")
361
+ caption = gr.Textbox(label=f"ENT{index + 1}", value="")
362
  id_ip_checkbox = gr.Checkbox(value=False, label=f"ID or not {index + 1}", visible=True)
363
  with gr.Row():
364
  vlm_btn = gr.Button("Generate Caption")
 
376
  )
377
  return image, caption, face_btn, det_btn, vlm_btn, accordion_state, accordion, id_ip_checkbox
378
 
379
+ def create_min_image_input(index, open=True, indices_state=None):
380
+
381
+ with gr.Column(min_width=256):
382
+ image = gr.Image(type="filepath", label=f"Image {index + 1}")
383
+ caption = gr.Textbox(label=f"Caption {index + 1}", value="")
384
+ id_ip_checkbox = gr.Checkbox(value=True, label=f"ID or not {index + 1}", visible=True)
385
+ with gr.Row():
386
+ vlm_btn = gr.Button("Generate Caption", visible=False)
387
+ det_btn = gr.Button("Det & Seg", visible=False)
388
+ face_btn = gr.Button("Crop Face", visible=False)
389
+
390
+ return image, caption, face_btn, det_btn, vlm_btn, id_ip_checkbox
391
+
392
 
393
  def merge_instances(orig_img, indices, ins_bboxes, ins_images):
394
  orig_image_width, orig_image_height = orig_img.width, orig_img.height
 
472
  with gr.Column():
473
  with gr.Row():
474
  for i in range(num_inputs):
475
+ image, caption, face_btn, det_btn, vlm_btn, id_ip_checkbox = create_min_image_input(i, open=i<2, indices_state=indices_state)
476
  images.append(image)
477
  idip_checkboxes.append(id_ip_checkbox)
478
  captions.append(caption)
479
  face_btns.append(face_btn)
480
  det_btns.append(det_btn)
481
  vlm_btns.append(vlm_btn)
 
 
 
482
 
483
  prompt = gr.Textbox(label="Prompt", value="")
484
  gen_btn = gr.Button("Generate", variant="primary")
485
+ with gr.Accordion("Advanced Settings", open=False, visible=False):
486
+
487
+ seed = gr.Number(value=42, label="Seed", info="")
488
 
489
  with gr.Row():
490
  target_height = gr.Slider(512, 1024, step=128, value=768, label="Generated Height", info="")
 
570
 
571
  with gr.Column():
572
  output = gr.Image(label="Result")
573
+
574
 
575
 
576
  gen_btn.click(
 
594
  face_btns[i].click(crop_face_img, inputs=[images[i]], outputs=[images[i]])
595
  det_btns[i].click(det_seg_img, inputs=[images[i], captions[i]], outputs=[images[i]])
596
  vlm_btns[i].click(vlm_img_caption, inputs=[images[i]], outputs=[captions[i]])
597
+ images[i].upload(vlm_img_caption, inputs=[images[i]], outputs=[captions[i]])
 
598
 
599
  demo.queue()
600
  demo.launch()