Spaces:
Sleeping
Sleeping
File size: 1,784 Bytes
956bf58 72a1491 63fd6b3 956bf58 63fd6b3 956bf58 63fd6b3 956bf58 63fd6b3 956bf58 63fd6b3 956bf58 63fd6b3 956bf58 63fd6b3 f779052 7c92a30 93d79aa 7c92a30 93d79aa 7c92a30 93d79aa f779052 956bf58 63fd6b3 065c8a4 6507d0c 5bff634 f20735a 956bf58 63fd6b3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
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) |