knnExample / app.py
fireedman's picture
Update app.py
5bff634 verified
raw
history blame
1.34 kB
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(''), "5.png")],
[os.path.join(os.path.abspath(''), "7.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"
)
iface.launch(debug=True)