|
|
|
|
|
|
|
__all__ = ['learn', 'categories', 'title', 'description', 'article', 'interpretation', 'enable_queue', 'image', 'label', |
|
'examples', 'intf', 'is_cat', 'classify_image'] |
|
|
|
|
|
from fastai.vision.all import * |
|
import gradio as gr |
|
|
|
def is_cat(x): |
|
return x[0].isupper() |
|
|
|
|
|
learn = load_learner("model.pkl") |
|
|
|
|
|
categories = ("Dog", "Cat") |
|
|
|
def classify_image(img): |
|
pred, idx, probs = learn.predict(img) |
|
return dict(zip(categories, map(float, probs))) |
|
|
|
|
|
title = "Cat or Dog Classifier" |
|
description = "A Cat or Dog classifier trained on the Oxford Pets dataset with fastai. Created as a demo for Gradio and HuggingFace Spaces." |
|
article="<p style='text-align: center'><a href='https://tmabraham.github.io/blog/gradio_hf_spaces_tutorial' target='_blank'>Blog post</a></p>" |
|
interpretation='default' |
|
enable_queue=True |
|
|
|
|
|
image = gr.inputs.Image(shape=(192, 192)) |
|
label = gr.outputs.Label() |
|
examples = ["dog1.jpg", "dog2.jpg", "dog3.jpg", "cat1.jpg", "cat2.jpg"] |
|
|
|
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples, title=title, description=description, article=article, interpretation=interpretation, enable_queue=enable_queue) |
|
intf.launch(inline=False) |
|
|