Vision-CAIR commited on
Commit
25c993b
1 Parent(s): fd5096e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -20
app.py CHANGED
@@ -28,7 +28,6 @@ from minigpt4.runners import *
28
  from minigpt4.tasks import *
29
 
30
  import warnings
31
-
32
  warnings.filterwarnings("ignore")
33
 
34
  def parse_args():
@@ -383,14 +382,11 @@ def visualize_all_bbox_together(image, generation):
383
  return pil_image, generation_colored
384
 
385
 
386
- def gradio_reset(chat_state, img_list, path_list):
387
  if chat_state is not None:
388
  chat_state.messages = []
389
  if img_list is not None:
390
  img_list = []
391
- if isinstance(path_list, list):
392
- for path in path_list:
393
- os.remove(path)
394
  return None, gr.update(value=None, interactive=True), gr.update(placeholder='Upload your image and chat',
395
  interactive=True), chat_state, img_list
396
 
@@ -414,11 +410,12 @@ def example_trigger(text_input, image, upload_flag, replace_flag, img_list):
414
  return upload_flag, replace_flag
415
 
416
 
417
- def gradio_ask(user_message, chatbot, chat_state, gr_img, img_list, upload_flag, replace_flag, path_list):
418
  if len(user_message) == 0:
419
  text_box_show = 'Input should not be empty!'
420
  else:
421
  text_box_show = ''
 
422
  if isinstance(gr_img, dict):
423
  gr_img, mask = gr_img['image'], gr_img['mask']
424
  else:
@@ -451,10 +448,9 @@ def gradio_ask(user_message, chatbot, chat_state, gr_img, img_list, upload_flag,
451
  visual_img, _ = visualize_all_bbox_together(gr_img, user_message)
452
  if visual_img is not None:
453
  file_path = save_tmp_img(visual_img)
454
- path_list.append(file_path)
455
  chatbot = chatbot + [[(file_path,), None]]
456
 
457
- return text_box_show, chatbot, chat_state, img_list, upload_flag, replace_flag, path_list
458
 
459
 
460
  def gradio_answer(chatbot, chat_state, img_list, temperature):
@@ -487,16 +483,16 @@ def gradio_stream_answer(chatbot, chat_state, img_list, temperature):
487
  return chatbot, chat_state
488
 
489
 
490
- def gradio_visualize(chatbot, gr_img, path_list):
491
  if isinstance(gr_img, dict):
492
  gr_img, mask = gr_img['image'], gr_img['mask']
 
493
  unescaped = reverse_escape(chatbot[-1][1])
494
  visual_img, generation_color = visualize_all_bbox_together(gr_img, unescaped)
495
  if visual_img is not None:
496
  if len(generation_color):
497
  chatbot[-1][1] = generation_color
498
  file_path = save_tmp_img(visual_img)
499
- path_list.append(file_path)
500
  chatbot = chatbot + [[None, (file_path,)]]
501
 
502
  return chatbot
@@ -585,7 +581,6 @@ with gr.Blocks() as demo:
585
 
586
  upload_flag = gr.State(value=0)
587
  replace_flag = gr.State(value=0)
588
- path_list = gr.State(value=[])
589
  image.upload(image_upload_trigger, [upload_flag, replace_flag, img_list], [upload_flag, replace_flag])
590
 
591
  with gr.Row():
@@ -622,33 +617,33 @@ with gr.Blocks() as demo:
622
 
623
  text_input.submit(
624
  gradio_ask,
625
- [text_input, chatbot, chat_state, image, img_list, upload_flag, replace_flag, path_list],
626
- [text_input, chatbot, chat_state, img_list, upload_flag, replace_flag, path_list], queue=False
627
  ).success(
628
  gradio_stream_answer,
629
  [chatbot, chat_state, img_list, temperature],
630
  [chatbot, chat_state]
631
  ).success(
632
  gradio_visualize,
633
- [chatbot, image, path_list],
634
- [chatbot, path_list],
635
  queue=False,
636
  )
637
 
638
  send.click(
639
  gradio_ask,
640
- [text_input, chatbot, chat_state, image, img_list, upload_flag, replace_flag, path_list],
641
- [text_input, chatbot, chat_state, img_list, upload_flag, replace_flag, path_list]
642
  ).success(
643
  gradio_stream_answer,
644
  [chatbot, chat_state, img_list, temperature],
645
  [chatbot, chat_state]
646
  ).success(
647
  gradio_visualize,
648
- [chatbot, image, path_list],
649
- [chatbot, path_list],
650
  )
651
 
652
- clear.click(gradio_reset, [chat_state, img_list, path_list], [chatbot, image, text_input, chat_state, img_list], queue=False)
653
 
654
  demo.launch(enable_queue=True)
 
28
  from minigpt4.tasks import *
29
 
30
  import warnings
 
31
  warnings.filterwarnings("ignore")
32
 
33
  def parse_args():
 
382
  return pil_image, generation_colored
383
 
384
 
385
+ def gradio_reset(chat_state, img_list):
386
  if chat_state is not None:
387
  chat_state.messages = []
388
  if img_list is not None:
389
  img_list = []
 
 
 
390
  return None, gr.update(value=None, interactive=True), gr.update(placeholder='Upload your image and chat',
391
  interactive=True), chat_state, img_list
392
 
 
410
  return upload_flag, replace_flag
411
 
412
 
413
+ def gradio_ask(user_message, chatbot, chat_state, gr_img, img_list, upload_flag, replace_flag):
414
  if len(user_message) == 0:
415
  text_box_show = 'Input should not be empty!'
416
  else:
417
  text_box_show = ''
418
+
419
  if isinstance(gr_img, dict):
420
  gr_img, mask = gr_img['image'], gr_img['mask']
421
  else:
 
448
  visual_img, _ = visualize_all_bbox_together(gr_img, user_message)
449
  if visual_img is not None:
450
  file_path = save_tmp_img(visual_img)
 
451
  chatbot = chatbot + [[(file_path,), None]]
452
 
453
+ return text_box_show, chatbot, chat_state, img_list, upload_flag, replace_flag
454
 
455
 
456
  def gradio_answer(chatbot, chat_state, img_list, temperature):
 
483
  return chatbot, chat_state
484
 
485
 
486
+ def gradio_visualize(chatbot, gr_img):
487
  if isinstance(gr_img, dict):
488
  gr_img, mask = gr_img['image'], gr_img['mask']
489
+
490
  unescaped = reverse_escape(chatbot[-1][1])
491
  visual_img, generation_color = visualize_all_bbox_together(gr_img, unescaped)
492
  if visual_img is not None:
493
  if len(generation_color):
494
  chatbot[-1][1] = generation_color
495
  file_path = save_tmp_img(visual_img)
 
496
  chatbot = chatbot + [[None, (file_path,)]]
497
 
498
  return chatbot
 
581
 
582
  upload_flag = gr.State(value=0)
583
  replace_flag = gr.State(value=0)
 
584
  image.upload(image_upload_trigger, [upload_flag, replace_flag, img_list], [upload_flag, replace_flag])
585
 
586
  with gr.Row():
 
617
 
618
  text_input.submit(
619
  gradio_ask,
620
+ [text_input, chatbot, chat_state, image, img_list, upload_flag, replace_flag],
621
+ [text_input, chatbot, chat_state, img_list, upload_flag, replace_flag], queue=False
622
  ).success(
623
  gradio_stream_answer,
624
  [chatbot, chat_state, img_list, temperature],
625
  [chatbot, chat_state]
626
  ).success(
627
  gradio_visualize,
628
+ [chatbot, image],
629
+ [chatbot],
630
  queue=False,
631
  )
632
 
633
  send.click(
634
  gradio_ask,
635
+ [text_input, chatbot, chat_state, image, img_list, upload_flag, replace_flag],
636
+ [text_input, chatbot, chat_state, img_list, upload_flag, replace_flag]
637
  ).success(
638
  gradio_stream_answer,
639
  [chatbot, chat_state, img_list, temperature],
640
  [chatbot, chat_state]
641
  ).success(
642
  gradio_visualize,
643
+ [chatbot, image],
644
+ [chatbot],
645
  )
646
 
647
+ clear.click(gradio_reset, [chat_state, img_list], [chatbot, image, text_input, chat_state, img_list], queue=False)
648
 
649
  demo.launch(enable_queue=True)