import gradio as gr from fastai.vision.all import * from fastai.vision.all import PILImage # Load the trained model learn = load_learner('export.pkl') # Get the labels from the data loaders labels = learn.dls.vocab # Define the prediction function def predict(img): img = PILImage.create(img) img = img.resize((512, 512)) pred, pred_idx, probs = learn.predict(img) return {labels[i]: float(probs[i]) for i in range(len(labels))} # Example images for demonstration examples = ['image.jpg'] # Create the Gradio interface interface = gr.Interface( fn=predict, inputs=gr.components.Image(shape=(512, 512)), outputs=gr.components.Label(num_top_classes=3), ) # Enable the queue to handle POST requests interface.queue(api_open=True) # Launch the interface interface.launch()