import gradio as gr from fastai.vision.all import * learn = load_learner('model.pkl') labels = ['brown_spots', 'green', 'spoiled', 'yellow'] 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 = "Banana Quality Classifier" description = "A banana classifier that can classify bananas into 4 categories based on their quality" examples = ['yellow_banana.jpg', 'green_banana.jpg', 'banana_with_brown_spots.jpg', 'black_banana.jpg', 'banana.jpg'] interpretation='default' enable_queue=True gr.Interface( fn=predict, inputs=gr.inputs.Image(shape=(512, 512)), gr.Image(source="webcam", shape=(512, 512), label="Capture from Webcam") ], outputs=gr.outputs.Label(num_top_classes=4), title=title, description=description, examples=examples, interpretation=interpretation, enable_queue=enable_queue ).launch()