hysts HF Staff commited on
Commit
ec86e66
·
1 Parent(s): 7133090

Limit input image size to avoid out of memory error

Browse files
Files changed (1) hide show
  1. app.py +15 -0
app.py CHANGED
@@ -18,7 +18,9 @@ if os.getenv('SYSTEM') == 'spaces':
18
  subprocess.call('pip uninstall -y opencv-python-headless'.split())
19
  subprocess.call('pip install opencv-python-headless'.split())
20
 
 
21
  import gradio as gr
 
22
 
23
  from model import Model
24
 
@@ -50,6 +52,15 @@ def extract_tar() -> None:
50
  f.extractall('mmdet_configs')
51
 
52
 
 
 
 
 
 
 
 
 
 
53
  def update_model_name(model_type: str) -> dict:
54
  model_dict = getattr(Model, f'{model_type.upper()}_MODEL_DICT')
55
  model_names = list(model_dict.keys())
@@ -132,6 +143,10 @@ This is an unofficial demo for [https://github.com/open-mmlab/mmdetection](https
132
  '<center><img src="https://visitor-badge.glitch.me/badge?page_id=hysts.mmdetection" alt="visitor badge"/></center>'
133
  )
134
 
 
 
 
 
135
  model_type.change(fn=update_model_name,
136
  inputs=[model_type],
137
  outputs=[model_name])
 
18
  subprocess.call('pip uninstall -y opencv-python-headless'.split())
19
  subprocess.call('pip install opencv-python-headless'.split())
20
 
21
+ import cv2
22
  import gradio as gr
23
+ import numpy as np
24
 
25
  from model import Model
26
 
 
52
  f.extractall('mmdet_configs')
53
 
54
 
55
+ def update_input_image(image: np.ndarray) -> dict:
56
+ if image is None:
57
+ return gr.Image.update(value=None)
58
+ scale = 1500 / max(image.shape[:2])
59
+ if scale < 1:
60
+ image = cv2.resize(image, None, fx=scale, fy=scale)
61
+ return gr.Image.update(value=image)
62
+
63
+
64
  def update_model_name(model_type: str) -> dict:
65
  model_dict = getattr(Model, f'{model_type.upper()}_MODEL_DICT')
66
  model_names = list(model_dict.keys())
 
143
  '<center><img src="https://visitor-badge.glitch.me/badge?page_id=hysts.mmdetection" alt="visitor badge"/></center>'
144
  )
145
 
146
+ input_image.change(fn=update_input_image,
147
+ inputs=[input_image],
148
+ outputs=[input_image])
149
+
150
  model_type.change(fn=update_model_name,
151
  inputs=[model_type],
152
  outputs=[model_name])