import gradio as gr from fastai.vision.all import * import json learn = load_learner('model.pkl') with open('categories.json', 'r') as f: categories = json.load(f) labels = learn.dls.vocab def predict(img): img = PILImage.create(img) _, _, probs = learn.predict(img) return {f"{categories[labels[i]]} ({labels[i]})": float(probs[i]) for i in range(len(labels))} title = "Predict flower species" gr.Interface( fn=predict, inputs=gr.inputs.Image(shape=(512, 512)), outputs=gr.outputs.Label(num_top_classes=len(labels)), title=title ).launch()