import gradio as gr from pathlib import Path # from fastai.vision.all import * # noqa: F403 from fastai.learner import load_learner from fastai.vision.core import PILImage import os # import skimage # Define any custom functions or classes that the model depends on def is_cat(x): # Make sure to define this correctly as it was used during training return x[0].isupper() print(os.path.abspath("model-export.pkl")) learn = load_learner("model-export.pkl") labels = learn.dls.vocab categories = ('Dog', 'Cat') def classify_image(img): img = PILImage.create(img) pred,idx,probs = learn.predict(img) return dict(zip(categories, map(float,probs))) title = "Pet Breed Classifier" description = "A pet breed classifier trained on the Oxford Pets dataset with fastai. Created as a demo for Gradio and HuggingFace Spaces." article = "
" path = Path('examples') allowed_extensions = {'.png', '.jpg', '.jpeg', '.bmp', '.gif'} examples = [file for file in path.iterdir() if file.suffix.lower() in allowed_extensions] gr.Interface( fn=classify_image, inputs="image", outputs="label", title=title, description=description, article=article, examples=examples ).launch()