Abedinho commited on
Commit
6e7e3a2
1 Parent(s): 840bb89

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -0
app.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from PIL import Image
3
+ import numpy as np
4
+ from tensorflow.keras.preprocessing import image as keras_image
5
+ from tensorflow.keras.applications.resnet50 import preprocess_input
6
+ from tensorflow.keras.models import load_model
7
+
8
+ # Load your trained model
9
+ model = load_model('/Users/stud/Downloads/Mandatory Sauber/mein_modell.h5') # Ensure this path is correct
10
+
11
+ def predict_pokemon(img):
12
+ img = Image.fromarray(img.astype('uint8'), 'RGB') # Ensure the image is in RGB
13
+ img = img.resize((224, 224)) # Resize the image properly using PIL
14
+ img_array = keras_image.img_to_array(img) # Convert the image to an array
15
+ img_array = np.expand_dims(img_array, axis=0) # Expand dimensions to fit model input
16
+ img_array = preprocess_input(img_array) # Preprocess the input as expected by ResNet50
17
+
18
+ prediction = model.predict(img_array) # Predict using the model
19
+ classes = ['Caterpie', 'Charizard', 'Dragonair' ] # Specific Pokémon names
20
+ return {classes[i]: float(prediction[0][i]) for i in range(3)} # Return the prediction
21
+
22
+ # Define Gradio interface
23
+ interface = gr.Interface(fn=predict_pokemon,
24
+ inputs="image", # Simplified input type
25
+ outputs="label", # Simplified output type
26
+ title="Pokémon Classifier",
27
+ description="Upload an image of a Pokémon and the classifier will predict its species.")
28
+
29
+ # Launch the interface
30
+ interface.launch()