knnExample / app.py
fireedman's picture
Update app.py
8eb550b verified
raw
history blame
1.23 kB
import gradio as gr
from sklearn.neighbors import KNeighborsClassifier
from skimage.io import imread
from skimage.transform import resize
import numpy as np
# Cargar el modelo KNN pre-entrenado (debes entrenar previamente el modelo y guardarlo)
classifier = KNeighborsClassifier(n_neighbors=5)
# Cargar el conjunto de datos o modelo pre-entrenado
# Por ejemplo, puedes cargar el mismo conjunto de datos de dígitos que usaste en tu código original o uno similar.
# Define una función para realizar la predicción
def knn_predict(image):
# Lee la imagen cargada por el usuario
user_image = imread(image)
# Asegúrate de que la imagen tenga el mismo tamaño que las imágenes de entrenamiento
user_image = resize(user_image, (8, 8), anti_aliasing=True)
# Aplique el modelo KNN para realizar la predicción
prediction = classifier.predict(user_image.reshape(1, -1))
return str(prediction[0])
# Crea una interfaz de Gradio
iface = gr.Interface(
fn=knn_predict,
inputs="image",
outputs="text",
title="Clasificador KNN de Dígitos",
description="Sube una imagen de un dígito (8x8 píxeles) y predice el número."
)
# Ejecute la interfaz de Gradio
iface.launch(debug = True)