File size: 894 Bytes
4f4528a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import gradio as gr
from ultralytics import YOLO
import os

# Charger le modèle
model = YOLO('best.pt')

def predict(image):
    # Faire l'inférence
    results = model.predict(source=image, conf=0.25)
    
    # Extraire les résultats pour un modèle de classification
    result = results[0]
    probs = result.probs
    
    # Créer un dictionnaire {Classe: Probabilité} pour Gradio
    # Ex: {"vide": 0.92, "plein": 0.08}
    labels = result.names
    confidences = {labels[i]: float(probs.data[i]) for i in range(len(labels))}
    
    return confidences

# Créer l'interface Gradio
demo = gr.Interface(
    fn=predict,
    inputs=gr.Image(type="pil"),
    outputs=gr.Label(num_top_classes=3),
    title="NoThrowam - Détection de remplissage",
    description="Uploadez une photo de poubelle pour connaître son niveau de plénitude."
)

if __name__ == "__main__":
    demo.launch()