dietrben commited on
Commit
a392537
·
verified ·
1 Parent(s): 2f90465

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +42 -0
  2. requirements.txt +4 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import tensorflow as tf
3
+ from PIL import Image
4
+ import numpy as np
5
+
6
+ # Laden des vortrainierten Pokémon-Modells
7
+ model_path = "pokemon_classifier_model.h5"
8
+ model = tf.keras.models.load_model(model_path)
9
+
10
+ # Labels für den Pokémon Classifier
11
+ labels = [
12
+ 'Balastoise','Charizard','Venusaur'
13
+ ]
14
+
15
+ def predict_pokemon(image):
16
+ # Preprocess image
17
+ image = Image.fromarray(image.astype('uint8')) # Convert numpy array to PIL image
18
+ image = image.resize((299, 299))
19
+ image = np.array(image)
20
+ image = np.expand_dims(image, axis=0) # same as image[None, ...]
21
+
22
+ # Predict
23
+ predictions = model.predict(image)
24
+ prediction = np.argmax(predictions, axis=1)[0]
25
+ confidence = np.max(predictions)
26
+
27
+ # Vorbereiten der Ausgabe
28
+ result = f"Predicted Pokémon: {labels[prediction]} with confidence: {confidence:.2f}"
29
+ return result
30
+
31
+ # Erstellen der Gradio-Oberfläche
32
+ input_image = gr.Image()
33
+ output_label = gr.Label()
34
+ interface = gr.Interface(fn=predict_pokemon,
35
+ inputs=input_image,
36
+ outputs=output_label,
37
+ examples=["Blastoise.jpg", "Charizard.png", "Venusaur.png"],
38
+ title="Pokémon Classifier",
39
+ description="Drag and drop an image or select an example below to predict the Pokémon.")
40
+
41
+ # Interface starten
42
+ interface.launch()
requirements.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ tensorflow==2.15.0
2
+ gradio
3
+ pillow
4
+ numpy