Docfile commited on
Commit
1e5ab01
·
1 Parent(s): db94442

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+ import joblib
4
+ from PIL import Image
5
+ from skimage.transform import resize
6
+
7
+ # Charger le modèle à partir du fichier enregistré
8
+ filename = 'modele_mlp.joblib'
9
+ loaded_model = joblib.load(filename)
10
+
11
+ # Fonction de traitement d'image
12
+ def preprocess_image(image):
13
+ # Convertir l'image en tableau NumPy
14
+ img_array = np.array(image)
15
+
16
+ # Réduire la taille de l'image à 8x8 (comme les images du jeu de données)
17
+ resized_img = resize(img_array, (8, 8), anti_aliasing=True)
18
+
19
+ # Aplatir l'image en un vecteur 1D
20
+ flat_img = resized_img.flatten()
21
+
22
+ # Normaliser les valeurs de pixel entre 0 et 16 (correspondant aux valeurs dans le jeu de données)
23
+ normalized_img = (flat_img / 255) * 16
24
+
25
+ return normalized_img
26
+
27
+ def predict_digit(image):
28
+ # Prétraiter l'image
29
+ preprocessed_image = preprocess_image(image)
30
+
31
+ # Faire une prédiction avec le modèle chargé
32
+ prediction = loaded_model.predict([preprocessed_image])[0]
33
+ return str(prediction)
34
+
35
+ iface = gr.Interface(fn=predict_digit, inputs="image", outputs="text", capture_session=True)
36
+ iface.launch()