edgilr commited on
Commit
2b77be1
1 Parent(s): 4fc3d4b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +51 -0
app.py CHANGED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastai.basics import *
2
+ from fastai.vision import models
3
+ from fastai.vision.all import *
4
+ from fastai.metrics import *
5
+ from fastai.data.all import *
6
+ from fastai.callback import *
7
+ from pathlib import Path
8
+ import random
9
+ import torchvision.transforms as transforms
10
+ import gradio as gr
11
+ import PIL
12
+
13
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
14
+ model = torch.jit.load("unet.pth")
15
+ model = model.cpu()
16
+ model.eval()
17
+
18
+ def transform_image(image):
19
+ my_transforms = transforms.Compose([transforms.ToTensor(),
20
+ transforms.Normalize(
21
+ [0.485, 0.456, 0.406],
22
+ [0.229, 0.224, 0.225])])
23
+ image_aux = image
24
+ return my_transforms(image_aux).unsqueeze(0).to(device)
25
+
26
+ def predict(img):
27
+ img = PILImage.create(img)
28
+
29
+ image = transforms.Resize((480,640))(img)
30
+ tensor = transform_image(image=image)
31
+
32
+ model.to(device)
33
+ with torch.no_grad():
34
+ outputs = model(tensor)
35
+
36
+ outputs = torch.argmax(outputs,1)
37
+
38
+ mask = np.array(outputs.cpu())
39
+ mask[mask==0]=255
40
+ mask[mask==1]=150
41
+ mask[mask==2]=76
42
+ mask[mask==3]=25
43
+ mask[mask==4]=0
44
+
45
+ mask=np.reshape(mask,(480,640))
46
+
47
+ return Image.fromarray(mask.astype('uint8'))
48
+
49
+ # Creamos la interfaz y la lanzamos.
50
+ gr.Interface(fn=predict, inputs=["image"], outputs=["image"],
51
+ examples=['color_154.jpg','color_186.jpg']).launch(share=True)