import gradio as gr from fastai.vision.core import PILImage from fastai.learner import load_learner learn = load_learner('model.pkl') labels = learn.dls.vocab def predict(img): img = PILImage.create(img) pred, pred_idx, probs = learn.predict(img) return {labels[i]: float(probs[i]) for i in range(len(labels))} title = "Bear Classifier" description = ("A bear classifier trained on black/grizzly/teddy bear images downloaded from internet with fastai. " "Created as a demo for Gradio and HuggingFace Spaces.") examples = ['black.jpg', 'grizzly.jpg', 'teddy.jpg'] grif = gr.Interface(fn=predict, inputs=gr.Image(type="pil"), outputs=gr.Label(num_top_classes=3), title=title, description=description, examples=examples) grif.launch()