import gradio as gr from fastai.vision.all import * import os # --- Model Loading (Assumes model.pkl exists in the root) --- try: learn = load_learner('export.pkl') except Exception: print("Error loading export.pkl. Check file path/existence.") raise 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))} # --- Interface Setup --- title = "Sports Classifier" description = "A sports classifier trained on the images from Google. Created as a demo for Gradio and HuggingFace Spaces." article="
" enable_queue=True examples = ["badminton.jpg", "cricket.jpg", "swimming.jpg"] demo = gr.Interface(fn=predict, inputs=gr.Image(type="pil"), outputs=gr.Label(num_top_classes=3), title=title, description=description, article=article, examples=examples) if __name__ == "__main__": demo.launch()