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)