Spaces:
Sleeping
Sleeping
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() |