Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from icevision.all import *
|
2 |
+
import gradio as gr
|
3 |
+
|
4 |
+
|
5 |
+
# Cargamos el learner
|
6 |
+
model = models.torchvision.faster_rcnn.model(backbone=models.torchvision.faster_rcnn.backbones.resnet18_fpn,
|
7 |
+
num_classes=2)
|
8 |
+
state_dict = torch.load('fasterRCNNkangaroo.pth')
|
9 |
+
model.load_state_dict(state_dict)
|
10 |
+
|
11 |
+
|
12 |
+
# Definimos una función que se encarga de llevar a cabo las predicciones
|
13 |
+
|
14 |
+
infer_tfms = tfms.A.Adapter([*tfms.A.resize_and_pad(384),tfms.A.Normalize()])
|
15 |
+
def predict(img):
|
16 |
+
img = PILImage.create(img)
|
17 |
+
pred_dict = models.torchvision.faster_rcnn.end2end_detect(img, infer_tfms, model.to("cpu"), class_map=ClassMap(['kangaroo']), detection_threshold=0.5)
|
18 |
+
return pred_dict['img']
|
19 |
+
|
20 |
+
# Creamos la interfaz y la lanzamos.
|
21 |
+
gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(128, 128)), outputs=gr.outputs.Image(shape=(128, 128)),examples=['00004.jpg','00014.jpg']).launch(share=False)
|