fireedman commited on
Commit
63fd6b3
1 Parent(s): 8eb550b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -23
app.py CHANGED
@@ -1,35 +1,29 @@
1
  import gradio as gr
2
- from sklearn.neighbors import KNeighborsClassifier
3
- from skimage.io import imread
4
  from skimage.transform import resize
 
5
  import numpy as np
6
 
7
- # Cargar el modelo KNN pre-entrenado (debes entrenar previamente el modelo y guardarlo)
8
- classifier = KNeighborsClassifier(n_neighbors=5)
9
- # Cargar el conjunto de datos o modelo pre-entrenado
10
- # Por ejemplo, puedes cargar el mismo conjunto de datos de dígitos que usaste en tu código original o uno similar.
11
 
12
- # Define una función para realizar la predicción
13
- def knn_predict(image):
14
- # Lee la imagen cargada por el usuario
15
- user_image = imread(image)
16
 
17
- # Asegúrate de que la imagen tenga el mismo tamaño que las imágenes de entrenamiento
18
- user_image = resize(user_image, (8, 8), anti_aliasing=True)
19
 
20
- # Aplique el modelo KNN para realizar la predicción
21
- prediction = classifier.predict(user_image.reshape(1, -1))
 
22
 
23
- return str(prediction[0])
 
24
 
25
- # Crea una interfaz de Gradio
26
  iface = gr.Interface(
27
- fn=knn_predict,
28
- inputs="image",
29
- outputs="text",
30
- title="Clasificador KNN de Dígitos",
31
- description="Sube una imagen de un dígito (8x8 píxeles) y predice el número."
32
  )
33
 
34
- # Ejecute la interfaz de Gradio
35
- iface.launch(debug = True)
 
1
  import gradio as gr
2
+ from joblib import load
 
3
  from skimage.transform import resize
4
+ from skimage.color import rgb2gray
5
  import numpy as np
6
 
7
+ classifier = load('knn_classifier.joblib')
 
 
 
8
 
9
+ def predict_image(image):
10
+ if len(image.shape) == 3:
11
+ image = rgb2gray(image)
 
12
 
13
+ image = resize(image, (8,8),anti_aliasing=True, mode='reflect') #Redimensionamiento
14
+ image = (image * 255).astype(np.uint8)
15
 
16
+ #image = np.array(image, dtype = np.float64)
17
+ image = np.invert(image)
18
+ image = image.reshape(1,-1)
19
 
20
+ prediction = classifier.predict(image)
21
+ return prediction[0]
22
 
 
23
  iface = gr.Interface(
24
+ fn = predict_image,
25
+ inputs = "image",
26
+ outputs = "text"
 
 
27
  )
28
 
29
+ iface.launch(debug=True)