File size: 1,571 Bytes
e4d5725
 
 
 
4c7f0e1
e4d5725
 
177054a
194d92f
e4d5725
177054a
 
4c7f0e1
177054a
 
4c7f0e1
e4d5725
177054a
194d92f
4c7f0e1
e4d5725
177054a
 
 
 
2036f09
177054a
e4d5725
177054a
4c7f0e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import gradio as gr
from PIL import Image
import numpy as np
from tensorflow.keras.preprocessing import image as keras_image
from tensorflow.keras.applications.inception_v3 import preprocess_input
from tensorflow.keras.models import load_model

# Lade dein trainiertes Modell
model = load_model('/home/user/app/inceptionv3.h5')  # Stelle sicher, dass dieser Pfad korrekt ist

def predict_character(img):
    img = Image.fromarray(img.astype('uint8'), 'RGB')  # Stelle sicher, dass das Bild im RGB-Format vorliegt
    img = img.resize((299, 299))  # Größe des Bildes anpassen für InceptionV3
    img_array = keras_image.img_to_array(img)  # Bild in ein Array umwandeln
    img_array = np.expand_dims(img_array, axis=0)  # Dimensionen erweitern, um dem Model-Input zu entsprechen
    img_array = preprocess_input(img_array)  # Input für InceptionV3 vorverarbeiten
    
    prediction = model.predict(img_array)  # Vorhersage mit dem Modell
    classes = ['AttackonTitan', 'DragonBall', 'Tsubasa']  # Spezifische Charakter-Namen
    return {classes[i]: float(prediction[0][i]) for i in range(3)}  # Vorhersage zurückgeben

# Definiere das Gradio-Interface
interface = gr.Interface(fn=predict_character, 
                         inputs="image",  # Vereinfachter Eingabetyp
                         outputs="label",  # Vereinfachter Ausgabetyp
                         title="One Piece Classifier",
                         description="Lade ein Bild eines OP-Charakters hoch und der Klassifikator wird den Namen vorhersagen.")

# Starte das Interface
interface.launch()