from huggingface_hub import from_pretrained_fastai
import gradio as gr
from fastai.vision.all import *



# repo_id = "YOUR_USERNAME/YOUR_LEARNER_NAME"
repo_id = "adperem/entregable2"

learner = from_pretrained_fastai(repo_id)
labels = learner.dls.vocab

# Definimos una funciĆ³n que se encarga de llevar a cabo las predicciones
def predict(img):
    #img = PILImage.create(img)
    pred,pred_idx,probs = learner.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}
    
# Creamos la interfaz y la lanzamos. 
gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(128, 128)), outputs=gr.outputs.Label(num_top_classes=3),examples=['010.jpg','5.jpg']).launch(share=False)