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