imageclass / app.py
chiraant's picture
Update app.py
985502b verified
raw
history blame
1.2 kB
import gradio as gr
import tensorflow as tf
from PIL import Image
import numpy as np
# Modell laden
model = tf.keras.models.load_model('pokemon_classifier.keras')
def classify_image(image):
# Bild vorverarbeiten
image = Image.fromarray(image.astype('uint8')).convert('RGB')
image = image.resize((150, 150)) # Anpassung der Größe an das Modell
image = np.array(image) / 255.0 # Normalisieren
image = np.expand_dims(image, axis=0) # Hinzufügen der Batch-Dimension
# Vorhersage machen
prediction = model.predict(image).flatten()
classes = ['Abra', 'Ditto', 'Gengar'] # Namen der Klassen
# Wahrscheinlichkeiten mit Klassen verbinden und formatieren
return {classes[i]: float(prediction[i]) for i in range(len(classes))}
# Gradio-Interface erstellen
input_image = gr.Image()
iface = gr.Interface(
fn=classify_image,
inputs=input_image,
outputs=gr.Label(num_top_classes=3),
examples=["pokemon/Abra/00000000.png", "pokemon/Ditto/00000000.jpg", "pokemon/Gengar/00000000.png"], # Beispiele hinzufügen
description="Upload an image of a Pokémon to classify it as Pikachu, Charmander, or Bulbasaur."
)
# Interface starten
iface.launch()