jacopo22295 commited on
Commit
435bb00
·
verified ·
1 Parent(s): 1106bd2

Upload 3 files

Browse files
Files changed (2) hide show
  1. README.md +9 -7
  2. app.py +2 -7
README.md CHANGED
@@ -1,8 +1,6 @@
1
- # Corrosion Classifier Space
2
-
3
- 1. ---
4
  title: Corrosion Classifier
5
- emoji: 🛠️
6
  colorFrom: indigo
7
  colorTo: blue
8
  sdk: gradio
@@ -13,10 +11,10 @@ pinned: false
13
 
14
  # Corrosion Classifier Space
15
 
16
- Questo Space usa un modello ResNet50 addestrato per classificare immagini di corrosione.
17
- Carica un’immagine e ottieni label + confidence.
18
 
19
- Classi supportate:
20
  - crevice_corrosion
21
  - erosion_corrosion
22
  - galvanic_corrosion
@@ -26,3 +24,7 @@ Classi supportate:
26
  - stress_corrosion
27
  - under_insulation_corrosion
28
  - uniform_corrosion
 
 
 
 
 
1
+ ---
 
 
2
  title: Corrosion Classifier
3
+ emoji: 🧪
4
  colorFrom: indigo
5
  colorTo: blue
6
  sdk: gradio
 
11
 
12
  # Corrosion Classifier Space
13
 
14
+ Questo Space usa un modello ResNet50 per classificare immagini di corrosione.
15
+ Carica un’immagine e ottieni **label** + **confidence**.
16
 
17
+ **Classi**:
18
  - crevice_corrosion
19
  - erosion_corrosion
20
  - galvanic_corrosion
 
24
  - stress_corrosion
25
  - under_insulation_corrosion
26
  - uniform_corrosion
27
+
28
+ ## Avvio
29
+ - Assicurati che il file del modello `resnet50-corrosion-classifier-v1.pth` sia nella root dello Space.
30
+ - Requisiti: vedi `requirements.txt`.
app.py CHANGED
@@ -4,13 +4,9 @@ import torch
4
  import torchvision.transforms as T
5
  import torchvision.models as models
6
 
7
- # Carica il modello
8
- # Assumi che il file .pth sia nella root dello Space
9
  MODEL_PATH = "resnet50-corrosion-classifier-v1.pth"
10
 
11
- # Mappa etichette (sostituisci con le tue classi)
12
-
13
- IDX2LABEL = {
14
  0: "crevice_corrosion",
15
  1: "erosion_corrosion",
16
  2: "galvanic_corrosion",
@@ -50,7 +46,7 @@ def predict(image: Image.Image):
50
  logits = model(x)
51
  probs = torch.softmax(logits, dim=1).cpu().numpy()[0]
52
  idx = int(probs.argmax())
53
- label = IDX2LABEL.get(idx, str(idx))
54
  confidence = float(probs[idx])
55
  return {"label": label, "confidence": confidence}
56
 
@@ -62,7 +58,6 @@ demo = gr.Interface(
62
  description="Restituisce label e confidence per l'immagine"
63
  )
64
 
65
- # Abilita API chiamabile
66
  demo.api_mode = "enabled"
67
 
68
  if __name__ == "__main__":
 
4
  import torchvision.transforms as T
5
  import torchvision.models as models
6
 
 
 
7
  MODEL_PATH = "resnet50-corrosion-classifier-v1.pth"
8
 
9
+ IDX2LABEL = {
 
 
10
  0: "crevice_corrosion",
11
  1: "erosion_corrosion",
12
  2: "galvanic_corrosion",
 
46
  logits = model(x)
47
  probs = torch.softmax(logits, dim=1).cpu().numpy()[0]
48
  idx = int(probs.argmax())
49
+ label = IDX2LABEL.get(idx, f"class_{idx}")
50
  confidence = float(probs[idx])
51
  return {"label": label, "confidence": confidence}
52
 
 
58
  description="Restituisce label e confidence per l'immagine"
59
  )
60
 
 
61
  demo.api_mode = "enabled"
62
 
63
  if __name__ == "__main__":