Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import os | |
| from joblib import load | |
| from skimage.transform import resize | |
| from skimage.color import rgb2gray | |
| import numpy as np | |
| classifier = load('knn_classifier.joblib') | |
| def predict_image(image): | |
| if len(image.shape) == 3: | |
| image = rgb2gray(image) | |
| image = resize(image, (8,8),anti_aliasing=True, mode='reflect') #Redimensionamiento | |
| image = (image * 255).astype(np.uint8) | |
| #image = np.array(image, dtype = np.float64) | |
| image = np.invert(image) | |
| image = image.reshape(1,-1) | |
| prediction = classifier.predict(image) | |
| return prediction[0] | |
| imagenes_muestra =[ | |
| [os.path.join(os.path.abspath(''), "0.png")], | |
| [os.path.join(os.path.abspath(''), "1.png")], | |
| [os.path.join(os.path.abspath(''), "2.png")], | |
| [os.path.join(os.path.abspath(''), "3.png")], | |
| [os.path.join(os.path.abspath(''), "4.png")], | |
| [os.path.join(os.path.abspath(''), "5.png")], | |
| [os.path.join(os.path.abspath(''), "6.png")], | |
| [os.path.join(os.path.abspath(''), "7.png")], | |
| [os.path.join(os.path.abspath(''), "8.png")], | |
| [os.path.join(os.path.abspath(''), "9.png")] | |
| ] | |
| iface = gr.Interface( | |
| fn = predict_image, | |
| inputs = gr.Image(label = "Sube una imagen de un numero o Selecciona una de los ejemplos"),#"image", | |
| outputs = gr.Textbox(label = "El resultado es:"),#"text", | |
| examples = imagenes_muestra, | |
| title = "Clasificador de numeros mediante método KNN supervisado", | |
| description = "El método K Nearest Neighbors (KNN) es un algoritmo de aprendizaje automático simple y ampliamente utilizado para clasificación y regresión.El método presentado se utiliza para clasificar imágenes de dígitos escritos a mano \nRecuerda que dependiendo de la base de datos utilizada, el modelo será o no más preciso" | |
| ) | |
| iface.launch(debug=True) |