File size: 1,225 Bytes
956bf58
8eb550b
 
956bf58
 
 
8eb550b
 
 
 
956bf58
8eb550b
 
 
 
956bf58
8eb550b
 
956bf58
8eb550b
 
956bf58
8eb550b
956bf58
8eb550b
956bf58
8eb550b
 
 
 
 
956bf58
 
8eb550b
 
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
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)