liuyizhang commited on
Commit
9912950
1 Parent(s): bd50af0

Kosmos error: Memory limit exceeded

Browse files
Files changed (1) hide show
  1. app.py +28 -18
app.py CHANGED
@@ -4,7 +4,7 @@ warnings.filterwarnings('ignore')
4
 
5
  import subprocess, io, os, sys, time
6
  # os.system("pip install gradio==3.36.1")
7
- os.system("pip install gradio==3.41.2")
8
  import gradio as gr
9
 
10
  from loguru import logger
@@ -698,6 +698,8 @@ def run_anything_task(input_image, text_prompt, task_type, inpaint_prompt, box_t
698
  logger.info(f'run_anything_task_[{file_temp}]_9_9_')
699
  return output_images, gr.Gallery.update(label='result images'), None, None, None
700
 
 
 
701
  def change_radio_display(task_type, mask_source_radio):
702
  text_prompt_visible = True
703
  inpaint_prompt_visible = False
@@ -710,21 +712,23 @@ def change_radio_display(task_type, mask_source_radio):
710
  kosmos_text_output_visible = False
711
 
712
  if task_type == "Kosmos-2":
713
- text_prompt_visible = False
714
- image_gallery_visible = False
715
- kosmos_input_visible = True
716
- kosmos_output_visible = True
717
- kosmos_text_output_visible = True
718
- else:
719
- if task_type == "inpainting":
720
- inpaint_prompt_visible = True
721
- if task_type == "inpainting" or task_type == "remove":
722
- mask_source_radio_visible = True
723
- if mask_source_radio == mask_source_draw:
724
- text_prompt_visible = False
725
- if task_type == "relate anything":
726
  text_prompt_visible = False
727
- num_relation_visible = True
 
 
728
 
729
  return (gr.Textbox.update(visible=text_prompt_visible),
730
  gr.Textbox.update(visible=inpaint_prompt_visible),
@@ -750,6 +754,10 @@ def get_model_device(module):
750
  except Exception as e:
751
  return 'Error'
752
 
 
 
 
 
753
  if __name__ == "__main__":
754
  parser = argparse.ArgumentParser("Grounded SAM demo", add_help=True)
755
  parser.add_argument("--debug", action="store_true", help="using debug mode")
@@ -768,7 +776,7 @@ if __name__ == "__main__":
768
  load_lama_cleaner_model()
769
  load_ram_model()
770
 
771
- if os.environ.get('IS_MY_DEBUG') is None:
772
  kosmos_model, kosmos_processor = load_kosmos_model(device)
773
 
774
  if os.environ.get('IS_MY_DEBUG') is None:
@@ -779,13 +787,14 @@ if __name__ == "__main__":
779
  print(f'sd_model__{get_model_device(sd_model)}')
780
  print(f'lama_cleaner_model__{get_model_device(lama_cleaner_model)}')
781
  print(f'ram_model__{get_model_device(ram_model)}')
 
782
 
783
  block = gr.Blocks().queue()
784
  with block:
785
  with gr.Row():
786
  with gr.Column():
787
  input_image = gr.Image(source='upload', elem_id="image_upload", tool='sketch', type='pil', label="Upload")
788
- task_type = gr.Radio(["detection", "segment", "inpainting", "remove", "relate anything", "Kosmos-2"], value="detection",
789
  label='Task type', visible=True)
790
  mask_source_radio = gr.Radio([mask_source_draw, mask_source_segment],
791
  value=mask_source_segment, label="Mask from",
@@ -860,7 +869,8 @@ if __name__ == "__main__":
860
  DESCRIPTION = f'### This demo from [Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything). <br>'
861
  DESCRIPTION += f'RAM from [RelateAnything](https://github.com/Luodian/RelateAnything). <br>'
862
  DESCRIPTION += f'Remove(cleaner) from [lama-cleaner](https://github.com/Sanster/lama-cleaner). <br>'
863
- DESCRIPTION += f'Kosmos-2 from [RelateAnything](https://huggingface.co/spaces/ydshieh/Kosmos-2). <br>'
 
864
  DESCRIPTION += f'Thanks for their excellent work.'
865
  DESCRIPTION += f'<p>For faster inference without waiting in queue, you may duplicate the space and upgrade to GPU in settings. \
866
  <a href="https://huggingface.co/spaces/yizhangliu/Grounded-Segment-Anything?duplicate=true"><img style="display: inline; margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space" /></a></p>'
 
4
 
5
  import subprocess, io, os, sys, time
6
  # os.system("pip install gradio==3.36.1")
7
+ os.system("pip install gradio==3.40.1")
8
  import gradio as gr
9
 
10
  from loguru import logger
 
698
  logger.info(f'run_anything_task_[{file_temp}]_9_9_')
699
  return output_images, gr.Gallery.update(label='result images'), None, None, None
700
 
701
+ kosmos_enable = False
702
+
703
  def change_radio_display(task_type, mask_source_radio):
704
  text_prompt_visible = True
705
  inpaint_prompt_visible = False
 
712
  kosmos_text_output_visible = False
713
 
714
  if task_type == "Kosmos-2":
715
+ if kosmos_enable:
716
+ text_prompt_visible = False
717
+ image_gallery_visible = False
718
+ kosmos_input_visible = True
719
+ kosmos_output_visible = True
720
+ kosmos_text_output_visible = True
721
+
722
+
723
+ if task_type == "inpainting":
724
+ inpaint_prompt_visible = True
725
+ if task_type == "inpainting" or task_type == "remove":
726
+ mask_source_radio_visible = True
727
+ if mask_source_radio == mask_source_draw:
728
  text_prompt_visible = False
729
+ if task_type == "relate anything":
730
+ text_prompt_visible = False
731
+ num_relation_visible = True
732
 
733
  return (gr.Textbox.update(visible=text_prompt_visible),
734
  gr.Textbox.update(visible=inpaint_prompt_visible),
 
754
  except Exception as e:
755
  return 'Error'
756
 
757
+ task_types = ["detection", "segment", "inpainting", "remove", "relate anything"]
758
+ if kosmos_enable:
759
+ task_types.append("Kosmos-2")
760
+
761
  if __name__ == "__main__":
762
  parser = argparse.ArgumentParser("Grounded SAM demo", add_help=True)
763
  parser.add_argument("--debug", action="store_true", help="using debug mode")
 
776
  load_lama_cleaner_model()
777
  load_ram_model()
778
 
779
+ if os.environ.get('IS_MY_DEBUG') is None and kosmos_enable:
780
  kosmos_model, kosmos_processor = load_kosmos_model(device)
781
 
782
  if os.environ.get('IS_MY_DEBUG') is None:
 
787
  print(f'sd_model__{get_model_device(sd_model)}')
788
  print(f'lama_cleaner_model__{get_model_device(lama_cleaner_model)}')
789
  print(f'ram_model__{get_model_device(ram_model)}')
790
+ print(f'kosmos_model__{get_model_device(kosmos_model)}')
791
 
792
  block = gr.Blocks().queue()
793
  with block:
794
  with gr.Row():
795
  with gr.Column():
796
  input_image = gr.Image(source='upload', elem_id="image_upload", tool='sketch', type='pil', label="Upload")
797
+ task_type = gr.Radio(task_types, value="detection",
798
  label='Task type', visible=True)
799
  mask_source_radio = gr.Radio([mask_source_draw, mask_source_segment],
800
  value=mask_source_segment, label="Mask from",
 
869
  DESCRIPTION = f'### This demo from [Grounded-Segment-Anything](https://github.com/IDEA-Research/Grounded-Segment-Anything). <br>'
870
  DESCRIPTION += f'RAM from [RelateAnything](https://github.com/Luodian/RelateAnything). <br>'
871
  DESCRIPTION += f'Remove(cleaner) from [lama-cleaner](https://github.com/Sanster/lama-cleaner). <br>'
872
+ if kosmos_enable:
873
+ DESCRIPTION += f'Kosmos-2 from [Kosmos-2](https://huggingface.co/spaces/ydshieh/Kosmos-2). <br>'
874
  DESCRIPTION += f'Thanks for their excellent work.'
875
  DESCRIPTION += f'<p>For faster inference without waiting in queue, you may duplicate the space and upgrade to GPU in settings. \
876
  <a href="https://huggingface.co/spaces/yizhangliu/Grounded-Segment-Anything?duplicate=true"><img style="display: inline; margin-top: 0em; margin-bottom: 0em" src="https://bit.ly/3gLdBN6" alt="Duplicate Space" /></a></p>'