Update app.py
Browse files
app.py
CHANGED
@@ -7,6 +7,8 @@ import PIL
|
|
7 |
|
8 |
# class map > y con esto done;
|
9 |
|
|
|
|
|
10 |
model_2 = models.torchvision.retinanet.model(
|
11 |
backbone=models.torchvision.retinanet.backbones.resnext50_32x4d_fpn (pretrained=True),
|
12 |
num_classes=len(class_map)
|
@@ -23,20 +25,30 @@ model_2.load_state_dict(state_dict)
|
|
23 |
|
24 |
# use test img:
|
25 |
|
26 |
-
img = PIL.Image.open('test.jpg')
|
27 |
-
|
28 |
infer_tfms = tfms.A.Adapter([*tfms.A.resize_and_pad(size),tfms.A.Normalize()])
|
29 |
|
30 |
-
|
31 |
|
32 |
-
img,
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
|
39 |
-
# modelo 2 -> construido:
|
40 |
|
41 |
-
res_img = pred_dict_2['img']
|
42 |
|
|
|
7 |
|
8 |
# class map > y con esto done;
|
9 |
|
10 |
+
class_map = ClassMap(['raccoon','banana'])
|
11 |
+
|
12 |
model_2 = models.torchvision.retinanet.model(
|
13 |
backbone=models.torchvision.retinanet.backbones.resnext50_32x4d_fpn (pretrained=True),
|
14 |
num_classes=len(class_map)
|
|
|
25 |
|
26 |
# use test img:
|
27 |
|
|
|
|
|
28 |
infer_tfms = tfms.A.Adapter([*tfms.A.resize_and_pad(size),tfms.A.Normalize()])
|
29 |
|
30 |
+
def predict(img):
|
31 |
|
32 |
+
img = PIL.Image.fromarray(img, "RGB")
|
33 |
+
|
34 |
+
pred_dict_2 = models.torchvision.retinanet.fastai.end2end_detect(
|
35 |
+
|
36 |
+
img,
|
37 |
+
infer_tfms,
|
38 |
+
model_2.to("cpu"),
|
39 |
+
class_map=class_map,
|
40 |
+
detection_threshold=0.5
|
41 |
+
)
|
42 |
+
|
43 |
+
return pred_dict["img"]
|
44 |
+
|
45 |
+
gr.Interface(
|
46 |
+
fn=predict,
|
47 |
+
inputs=gr.inputs.Image(shape=(128, 128)),
|
48 |
+
outputs=[gr.outputs.Image(type="pil", label="VFNet Inference")],
|
49 |
+
examples=['raccoon-test_1.jpg','raccoon-test_2.jpg']
|
50 |
+
).launch(share=False)
|
51 |
+
|
52 |
|
|
|
53 |
|
|
|
54 |
|