Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import numpy as np | |
| import joblib | |
| from PIL import Image | |
| from skimage.transform import resize | |
| # Charger le modèle à partir du fichier enregistré | |
| filename = 'modele_mlp.joblib' | |
| loaded_model = joblib.load(filename) | |
| # Fonction de traitement d'image | |
| def preprocess_image(image): | |
| # Convertir l'image en niveaux de gris | |
| pil_image = Image.fromarray(image) | |
| gray_image = pil_image.convert("L") | |
| # Redimensionner l'image à 8x8 pixels | |
| resized_image = gray_image.resize((8, 8), Image.LANCZOS) | |
| # Convertir l'image en tableau NumPy | |
| img_array = np.array(resized_image) | |
| # Aplatir l'image en un vecteur 1D | |
| flat_img = img_array.flatten() | |
| # Normaliser les valeurs de pixel entre 0 et 16 (correspondant aux valeurs dans le jeu de données) | |
| normalized_img = (flat_img / 255) * 16 | |
| return normalized_img | |
| def predict_digit(image): | |
| # Prétraiter l'image | |
| preprocessed_image = preprocess_image(image) | |
| # Faire une prédiction avec le modèle chargé | |
| prediction = loaded_model.predict([preprocessed_image])[0] | |
| return str(prediction) | |
| iface = gr.Interface(fn=predict_digit, inputs="image", outputs="text") | |
| iface.launch() | |