import gradio as gr from fastai.vision.all import * model_path = Path('ImageDifferentiator.pkl') # Explicitly specify map_location and use cpu if needed learn = load_learner(model_path, cpu=True) 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))} iface = gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(512, 512)), outputs=gr.outputs.Label(num_top_classes=3)) iface.launch(share=True)