Spaces:
Runtime error
Runtime error
Vision-CAIR
commited on
Commit
Β·
25c993b
1
Parent(s):
fd5096e
Update app.py
Browse files
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
|
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
|
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
|
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
|
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
|
626 |
-
[text_input, chatbot, chat_state, img_list, upload_flag, replace_flag
|
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
|
634 |
-
[chatbot
|
635 |
queue=False,
|
636 |
)
|
637 |
|
638 |
send.click(
|
639 |
gradio_ask,
|
640 |
-
[text_input, chatbot, chat_state, image, img_list, upload_flag, replace_flag
|
641 |
-
[text_input, chatbot, chat_state, img_list, upload_flag, replace_flag
|
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
|
649 |
-
[chatbot
|
650 |
)
|
651 |
|
652 |
-
clear.click(gradio_reset, [chat_state, img_list
|
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)
|