Spaces:
Runtime error
Runtime error
from fastai.vision.all import * | |
from huggingface_hub import from_pretrained_fastai | |
import gradio as gr | |
# ------------------------------- | |
# 1. Cargar el modelo desde Hugging Face | |
# ------------------------------- | |
repo_id = "AdrianRevi/Practica1Blindness" # Cambiar si es necesario | |
learner = from_pretrained_fastai(repo_id) | |
labels = learner.dls.vocab | |
# ------------------------------- | |
# 2. Función de predicción | |
# ------------------------------- | |
def predict(img): | |
try: | |
pred, pred_idx, probs = learner.predict(img) | |
return {labels[i]: float(probs[i]) for i in range(len(labels))} | |
except Exception as e: | |
return {"Error": str(e)} | |
# ------------------------------- | |
# 3. Interfaz Gradio | |
# ------------------------------- | |
title = "👁️ Clasificador de Ceguera con FastAI" | |
description = """ | |
Esta aplicación utiliza un modelo de **Aprendizaje Profundo** entrenado con `fastai` para predecir el **grado de ceguera** en imágenes de retina. | |
📌 El modelo fue entrenado en Google Colab y desplegado en Hugging Face Spaces mediante `from_pretrained_fastai`. | |
🔍 Puedes subir tu propia imagen o usar uno de los ejemplos de la galería. | |
📷 La imagen se redimensiona automáticamente a 128x128 píxeles (tamaño de entrada del modelo). | |
""" | |
examples = ['20068.jpg', '20084.jpg'] # Archivos locales en el Space | |
# ------------------------------- | |
# 4. Crear y lanzar interfaz | |
# ------------------------------- | |
demo = gr.Interface( | |
fn=predict, | |
inputs=gr.Image(type="pil", shape=(128, 128), label="Sube una imagen de retina"), | |
outputs=gr.Label(num_top_classes=3, label="Predicción (Top 3)"), | |
examples=examples, | |
title=title, | |
description=description, | |
allow_flagging="never", | |
live=False, | |
theme="default", | |
) | |
if __name__ == "__main__": | |
demo.launch(show_error=True) | |