JeffreyYAJ commited on
Commit
4f4528a
·
verified ·
1 Parent(s): 8547201

create app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -0
app.py ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from ultralytics import YOLO
3
+ import os
4
+
5
+ # Charger le modèle
6
+ model = YOLO('best.pt')
7
+
8
+ def predict(image):
9
+ # Faire l'inférence
10
+ results = model.predict(source=image, conf=0.25)
11
+
12
+ # Extraire les résultats pour un modèle de classification
13
+ result = results[0]
14
+ probs = result.probs
15
+
16
+ # Créer un dictionnaire {Classe: Probabilité} pour Gradio
17
+ # Ex: {"vide": 0.92, "plein": 0.08}
18
+ labels = result.names
19
+ confidences = {labels[i]: float(probs.data[i]) for i in range(len(labels))}
20
+
21
+ return confidences
22
+
23
+ # Créer l'interface Gradio
24
+ demo = gr.Interface(
25
+ fn=predict,
26
+ inputs=gr.Image(type="pil"),
27
+ outputs=gr.Label(num_top_classes=3),
28
+ title="NoThrowam - Détection de remplissage",
29
+ description="Uploadez une photo de poubelle pour connaître son niveau de plénitude."
30
+ )
31
+
32
+ if __name__ == "__main__":
33
+ demo.launch()