paascorb commited on
Commit
65f41de
1 Parent(s): a729edc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -60
app.py CHANGED
@@ -1,4 +1,3 @@
1
- from huggingface_hub import from_pretrained_fastai
2
  import gradio as gr
3
  from fastai.basics import *
4
  from fastai.vision import models
@@ -6,65 +5,12 @@ from fastai.vision.all import *
6
  from fastai.metrics import *
7
  from fastai.data.all import *
8
  from fastai.callback import *
9
-
10
-
11
- from pathlib import Path
12
- import random
13
  import PIL
14
- import torchvision.transforms as transformss
15
- import torch
16
- from albumentations import *
17
-
18
- def get_y_fn (x):
19
- return Path(str(x).replace("Images","Labels").replace("color","gt").replace(".jpg",".png"))
20
-
21
- def ParentSplitter(x):
22
- return Path(x).parent.name==test_name
23
-
24
- class SegmentationAlbumentationsTransform(ItemTransform):
25
- split_idx = 0
26
-
27
- def __init__(self, aug):
28
- self.aug = aug
29
-
30
- def encodes(self, x):
31
- img,mask = x
32
- aug = self.aug(image=np.array(img), mask=np.array(mask))
33
- return PILImage.create(aug["image"]), PILMask.create(aug["mask"])
34
 
35
- transforms=Compose([HorizontalFlip(p=0.5),
36
- Rotate(p=0.40,limit=10),GridDistortion()
37
- ],p=1)
38
- transformPipeline=SegmentationAlbumentationsTransform(transforms)
39
-
40
- class TargetMaskConvertTransform(ItemTransform):
41
- def __init__(self):
42
- pass
43
- def encodes(self, x):
44
- img,mask = x
45
-
46
- #Convert to array
47
- mask = np.array(mask)
48
-
49
- # Aquí definimos cada clase en la máscara
50
- # uva:
51
- mask[mask==255]=1
52
- # hojas:
53
- mask[mask==150]=2
54
- # conductores:
55
- mask[mask==76]=3
56
- mask[mask==74]=3
57
- # madera:
58
- mask[mask==29]=4
59
- mask[mask==25]=4
60
-
61
- # Back to PILMask
62
- mask = PILMask.create(mask)
63
- return img, mask
64
-
65
- repo_id = "paascorb/practica3_Segmentation"
66
-
67
- learner = from_pretrained_fastai(repo_id)
68
 
69
  def transform_image(image):
70
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
@@ -79,8 +25,7 @@ def predict(img):
79
  img = PIL.Image.fromarray(img, "RGB")
80
  image = transformss.Resize((480,640))(img)
81
  tensor = transform_image(image=image)
82
-
83
- device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
84
  learner.to(device)
85
  with torch.no_grad():
86
  outputs = learner(tensor)
 
 
1
  import gradio as gr
2
  from fastai.basics import *
3
  from fastai.vision import models
 
5
  from fastai.metrics import *
6
  from fastai.data.all import *
7
  from fastai.callback import *
 
 
 
 
8
  import PIL
9
+ import torchvision.transforms as transforms
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
 
11
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
12
+ model = torch.jit.load("unet.pth")
13
+ model = model.cpu()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
 
15
  def transform_image(image):
16
  device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
 
25
  img = PIL.Image.fromarray(img, "RGB")
26
  image = transformss.Resize((480,640))(img)
27
  tensor = transform_image(image=image)
28
+
 
29
  learner.to(device)
30
  with torch.no_grad():
31
  outputs = learner(tensor)