Spaces:
Runtime error
Runtime error
File size: 1,315 Bytes
36b1181 c87df97 36b1181 c87df97 36b1181 c87df97 ff51082 c87df97 ff51082 9d6aa7a 36b1181 | 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 31 32 33 34 35 36 37 38 39 | import gradio as gr
import tensorflow as tf
import numpy as np
from PIL import Image
# Charger le modèle TensorFlow.js converti en Keras
model = tf.keras.models.load_model("tm-my-image-model\model.json")
# Charger les labels de classes
with open("labels.txt", "r") as f:
labels = [line.strip() for line in f.readlines()]
# Prétraitement de l'image
def preprocess_image(image):
image = Image.fromarray(image).convert("RGB") # Conversion en image RGB
image = image.resize((224, 224)) # Adapter la taille au modèle
image = np.array(image) / 255.0 # Normalisation
image = np.expand_dims(image, axis=0) # Ajouter une dimension batch
return image
# Fonction de prédiction
def predict(image):
processed_image = preprocess_image(image)
predictions = model.predict(processed_image)[0] # Faire la prédiction
top5_indices = np.argsort(predictions)[-5:][::-1] # Obtenir les 5 meilleures classes
results = {labels[i]: float(predictions[i]) for i in top5_indices} # Associer classes et scores
return results
# Interface Gradio
demo = gr.Interface(
fn=predict,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(num_top_classes=5),
title="Image Classifier",
description="Téléversez une image et obtenez les prédictions du modèle."
)
demo.launch()
|