alexbakr commited on
Commit
9b36046
·
1 Parent(s): 4f30c2a

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +46 -0
app.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from gradio.outputs import Label
2
+ from icevision.all import *
3
+ from icevision.models.checkpoint import *
4
+ import PIL
5
+ import gradio as gr
6
+ import os
7
+
8
+ # Load model
9
+ checkpoint_path = "model_checkpoint.pth"
10
+ checkpoint_and_model = model_from_checkpoint(checkpoint_path)
11
+ model = checkpoint_and_model["model"]
12
+ model_type = checkpoint_and_model["model_type"]
13
+ class_map = checkpoint_and_model["class_map"]
14
+
15
+ # Transforms
16
+ img_size = checkpoint_and_model["img_size"]
17
+ valid_tfms = tfms.A.Adapter([*tfms.A.resize_and_pad(img_size), tfms.A.Normalize()])
18
+
19
+ # Populate examples in Gradio interface
20
+ examples = [
21
+ ['1.jpg'],
22
+ ['2.jpg'],
23
+ ['3.jpg']
24
+ ]
25
+
26
+ def show_preds(input_image):
27
+ img = PIL.Image.fromarray(input_image, "RGB")
28
+ pred_dict = model_type.end2end_detect(img, valid_tfms, model,
29
+ class_map=class_map,
30
+ detection_threshold=0.5,
31
+ display_label=False,
32
+ display_bbox=True,
33
+ return_img=True,
34
+ font_size=16,
35
+ label_color="#FF59D6")
36
+ return pred_dict["img"]
37
+
38
+ gr_interface = gr.Interface(
39
+ fn=show_preds,
40
+ inputs=["image"],
41
+ outputs=[gr.outputs.Image(type="pil", label="RetinaNet Inference")],
42
+ title="Fridge Object Detector",
43
+ description="A VFNet model that detects common objects found in fridge. Upload an image or click an example image below to use.",
44
+ examples=examples,
45
+ )
46
+ gr_interface.launch(inline=False, share=False, debug=True)