Devon12 commited on
Commit
33e388f
·
verified ·
1 Parent(s): 1be65a7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -28
app.py CHANGED
@@ -77,33 +77,26 @@ class_to_tonne = {
77
  "Mülltüten_aus_Kunststoff": "Restmüll"
78
  }
79
 
80
- # Def Predict
81
- def predict_image(image):
82
- if image.mode != "RGB":
83
- image = image.convert("RGB")
84
- input_tensor = transform(image).unsqueeze(0).to(model.device)
85
- with torch.no_grad():
86
- outputs = model(input_tensor)
87
- _, predicted = torch.max(outputs, 1)
88
- label = class_labels[predicted.item()]
89
- tonne = class_to_tonne.get(label, "Unbekannt")
90
-
91
- return {
92
- "Klasse": label.replace("_", " ").capitalize(),
93
- "Gehört in die": tonne
94
- }
95
 
96
- # Gradio Interface
97
- interface = gr.Interface(
98
- fn=predict_image,
99
- inputs=gr.Image(type="pil", label="Bild hochladen"),
100
- outputs=[
101
- gr.Textbox(label="Vorhersage (Klasse auf Deutsch)"),
102
- gr.Textbox(label="Richtiger Abfallbehälter")
103
- ],
104
- title="Abfallerkennung mit KI 🗑️",
105
- description="Lade ein Bild hoch und erfahre, in welche Tonne der Abfall gehört.",
106
- live=True
107
- )
108
 
109
- interface.launch()
 
 
 
77
  "Mülltüten_aus_Kunststoff": "Restmüll"
78
  }
79
 
80
+ # Gradio Block
81
+ with gr.Blocks(title="Abfallerkennung mit KI 🗑️") as demo:
82
+ gr.Markdown("### Lade ein Bild hoch und erfahre, in welche Tonne der Abfall gehört.")
83
+ image_input = gr.Image(type="pil", label="Bild hochladen")
84
+ output_label = gr.Textbox(label="Vorhersage")
85
+ output_tonne = gr.Textbox(label="Richtiger Abfallbehälter")
86
+ button = gr.Button("Analysieren")
 
 
 
 
 
 
 
 
87
 
88
+ def analyze(image):
89
+ if image.mode != "RGB":
90
+ image = image.convert("RGB")
91
+ input_tensor = transform(image).unsqueeze(0).to(model.device)
92
+ with torch.no_grad():
93
+ outputs = model(input_tensor)
94
+ _, predicted = torch.max(outputs, 1)
95
+ label = class_labels[predicted.item()]
96
+ tonne = class_to_tonne.get(label, "Unbekannt")
97
+ label_1 = label.replace("_", " ").capitalize()
98
+ return label_1, tonne
 
99
 
100
+ button.click(fn=analyze, inputs=image_input, outputs=[output_label, output_tonne])
101
+
102
+ demo.launch(show_api=False)