Prasanna Sridhar commited on
Commit
9f022b0
·
1 Parent(s): d73d6bf

Remove device variable from gradio state for now

Browse files
Files changed (3) hide show
  1. .dockerignore +2 -0
  2. .gitignore +3 -0
  3. app.py +11 -10
.dockerignore CHANGED
@@ -5,6 +5,8 @@ env
5
  .github/
6
  .gitignore
7
 
 
 
8
  *.zip
9
  *.whl
10
  !gradio_image_prompter-0.1.0-py3-none-any.whl
 
5
  .github/
6
  .gitignore
7
 
8
+ models/GroundingDINO/ops/build/
9
+
10
  *.zip
11
  *.whl
12
  !gradio_image_prompter-0.1.0-py3-none-any.whl
.gitignore CHANGED
@@ -4,5 +4,8 @@ __pycache__
4
  .python-version
5
  *.py[od]
6
 
 
 
 
7
  # vim
8
  *.sw[op]
 
4
  .python-version
5
  *.py[od]
6
 
7
+ # GroundingDINO build folder
8
+ models/GroundingDINO/ops/build/
9
+
10
  # vim
11
  *.sw[op]
app.py CHANGED
@@ -285,15 +285,17 @@ if __name__ == '__main__':
285
  model, transform = build_model_and_transforms(args)
286
  model = model.to(device)
287
 
288
- _predict = lambda image, text, prompts: predict(model, transform, image, text, prompts, device)
 
 
289
 
290
  @spaces.GPU(duration=120)
291
- def count(image, text, prompts, state, device):
292
  if prompts is None:
293
  prompts = {"image": image, "points": []}
294
 
295
  boxes, _ = _predict(image, text, prompts)
296
- count = len(boxes)
297
  output_img = generate_heatmap(image, boxes)
298
 
299
  num_exemplars = len(get_box_inputs(prompts["points"]))
@@ -317,19 +319,19 @@ if __name__ == '__main__':
317
  main_instructions_comp = gr.Markdown(visible=True)
318
  step_3 = gr.Tab(visible=True)
319
 
320
- return (gr.Image(output_img, visible=True, label=out_label, show_label=True), gr.Number(label="Predicted Count", visible=True, value=count), new_submit_btn, gr.Tab(visible=True), step_3, state)
321
 
322
  @spaces.GPU
323
- def count_main(image, text, prompts, device):
324
  if prompts is None:
325
  prompts = {"image": image, "points": []}
326
  boxes, _ = _predict(image, text, prompts)
327
- count = len(boxes)
328
  output_img = generate_heatmap(image, boxes)
329
  num_exemplars = len(get_box_inputs(prompts["points"]))
330
  out_label = generate_output_label(text, num_exemplars)
331
 
332
- return (gr.Image(output_img, visible=True, label=out_label, show_label=True), gr.Number(label="Predicted Count", visible=True, value=count))
333
 
334
  def remove_label(image):
335
  return gr.Image(show_label=False)
@@ -359,7 +361,6 @@ if __name__ == '__main__':
359
 
360
  with gr.Blocks(title="CountGD: Multi-Modal Open-World Counting", theme="soft", head="""<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1">""") as demo:
361
  state = gr.State(value=[AppSteps.JUST_TEXT])
362
- device = gr.State(device)
363
  with gr.Tab("Tutorial"):
364
  with gr.Row():
365
  with gr.Column():
@@ -383,7 +384,7 @@ if __name__ == '__main__':
383
  pred_count = gr.Number(label="Predicted Count", visible=False)
384
  submit_btn = gr.Button("Count", variant="primary", interactive=True)
385
 
386
- submit_btn.click(fn=remove_label, inputs=[detected_instances], outputs=[detected_instances]).then(fn=count, inputs=[input_image, input_text, exemplar_image, state, device], outputs=[detected_instances, pred_count, submit_btn, step_2, step_3, state])
387
  exemplar_image.change(check_submit_btn, inputs=[exemplar_image, state], outputs=[submit_btn])
388
  with gr.Tab("App", visible=True) as main_app:
389
 
@@ -409,7 +410,7 @@ if __name__ == '__main__':
409
  submit_btn_main = gr.Button("Count", variant="primary")
410
  clear_btn_main = gr.ClearButton(variant="secondary")
411
  gr.Examples(label="Examples: click on a row to load the example. Add visual exemplars by drawing boxes on the loaded \"Visual Exemplar Image.\"", examples=examples, inputs=[input_image_main, input_text_main, exemplar_image_main])
412
- submit_btn_main.click(fn=remove_label, inputs=[detected_instances_main], outputs=[detected_instances_main]).then(fn=count_main, inputs=[input_image_main, input_text_main, exemplar_image_main, device], outputs=[detected_instances_main, pred_count_main])
413
  clear_btn_main.add([input_image_main, input_text_main, exemplar_image_main, detected_instances_main, pred_count_main])
414
 
415
 
 
285
  model, transform = build_model_and_transforms(args)
286
  model = model.to(device)
287
 
288
+ def _predict(image, text, prompts):
289
+ return predict(model, transform, image, text, prompts, device)
290
+
291
 
292
  @spaces.GPU(duration=120)
293
+ def count(image, text, prompts, state):
294
  if prompts is None:
295
  prompts = {"image": image, "points": []}
296
 
297
  boxes, _ = _predict(image, text, prompts)
298
+ predicted_count = len(boxes)
299
  output_img = generate_heatmap(image, boxes)
300
 
301
  num_exemplars = len(get_box_inputs(prompts["points"]))
 
319
  main_instructions_comp = gr.Markdown(visible=True)
320
  step_3 = gr.Tab(visible=True)
321
 
322
+ return (gr.Image(output_img, visible=True, label=out_label, show_label=True), gr.Number(label="Predicted Count", visible=True, value=predicted_count), new_submit_btn, gr.Tab(visible=True), step_3, state)
323
 
324
  @spaces.GPU
325
+ def count_main(image, text, prompts):
326
  if prompts is None:
327
  prompts = {"image": image, "points": []}
328
  boxes, _ = _predict(image, text, prompts)
329
+ predicted_count = len(boxes)
330
  output_img = generate_heatmap(image, boxes)
331
  num_exemplars = len(get_box_inputs(prompts["points"]))
332
  out_label = generate_output_label(text, num_exemplars)
333
 
334
+ return (gr.Image(output_img, visible=True, label=out_label, show_label=True), gr.Number(label="Predicted Count", visible=True, value=predicted_count))
335
 
336
  def remove_label(image):
337
  return gr.Image(show_label=False)
 
361
 
362
  with gr.Blocks(title="CountGD: Multi-Modal Open-World Counting", theme="soft", head="""<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1">""") as demo:
363
  state = gr.State(value=[AppSteps.JUST_TEXT])
 
364
  with gr.Tab("Tutorial"):
365
  with gr.Row():
366
  with gr.Column():
 
384
  pred_count = gr.Number(label="Predicted Count", visible=False)
385
  submit_btn = gr.Button("Count", variant="primary", interactive=True)
386
 
387
+ submit_btn.click(fn=remove_label, inputs=[detected_instances], outputs=[detected_instances]).then(fn=count, inputs=[input_image, input_text, exemplar_image, state], outputs=[detected_instances, pred_count, submit_btn, step_2, step_3, state])
388
  exemplar_image.change(check_submit_btn, inputs=[exemplar_image, state], outputs=[submit_btn])
389
  with gr.Tab("App", visible=True) as main_app:
390
 
 
410
  submit_btn_main = gr.Button("Count", variant="primary")
411
  clear_btn_main = gr.ClearButton(variant="secondary")
412
  gr.Examples(label="Examples: click on a row to load the example. Add visual exemplars by drawing boxes on the loaded \"Visual Exemplar Image.\"", examples=examples, inputs=[input_image_main, input_text_main, exemplar_image_main])
413
+ submit_btn_main.click(fn=remove_label, inputs=[detected_instances_main], outputs=[detected_instances_main]).then(fn=count_main, inputs=[input_image_main, input_text_main, exemplar_image_main], outputs=[detected_instances_main, pred_count_main])
414
  clear_btn_main.add([input_image_main, input_text_main, exemplar_image_main, detected_instances_main, pred_count_main])
415
 
416