import gradio as gr import os from fastai.vision.all import * learn = load_learner("vegetable-classifier.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 = "Classify vegetables" description = "A vegetable classifier trained on the vegetable-image-dataset from Kaggle. Made for the fastai deep learning course." dst_path = "./gradio_example_images" _examples = [f"{dst_path}/{i}" for i in os.listdir(dst_path)] gr.Interface( fn=predict, inputs=gr.inputs.Image(shape=(512, 512)), outputs=gr.outputs.Label(num_top_classes=3), title=title, description=description, examples=_examples, interpretation="default", enable_queue=True, ).launch()