Spaces:
Runtime error
Runtime error
from fastai.vision.all import * | |
import gradio as gr | |
# --------------------------------------------------------- | |
# 1. Crea unos DataLoaders falsos para cargar el modelo (requerido) | |
# --------------------------------------------------------- | |
# Esto es solo para inicializar el modelo correctamente | |
dls = ImageDataLoaders.from_name_func( | |
path='.', | |
fnames=get_image_files('.'), | |
label_func=lambda x: 'placeholder', | |
valid_pct=0.2, | |
item_tfms=Resize(128), | |
bs=1 | |
) | |
# --------------------------------------------------------- | |
# 2. Crea el learner y carga el modelo desde .pth | |
# --------------------------------------------------------- | |
learn = cnn_learner(dls, resnet18, metrics=accuracy) | |
learn.load('resnet18_blindness') | |
# Define tus clases manualmente si no están en dls.vocab | |
labels = ['No Blindness', 'Blindness'] | |
# --------------------------------------------------------- | |
# 3. Define la función de predicción | |
# --------------------------------------------------------- | |
def predict(img): | |
pred, idx, probs = learn.predict(img) | |
return {labels[i]: float(probs[i]) for i in range(len(labels))} | |
# --------------------------------------------------------- | |
# 4. Lanza la app con Gradio | |
# --------------------------------------------------------- | |
gr.Interface( | |
fn=predict, | |
inputs=gr.Image(shape=(128, 128)), | |
outputs=gr.Label(num_top_classes=2), | |
title="Clasificador de Ceguera", | |
description="Sube una imagen de retina y predice si hay ceguera o no." | |
).launch() | |