|
|
|
|
|
|
|
__all__ = ['learn', 'categories', 'image', 'label', 'examples', 'intf', 'is_cat', 'classify_image'] |
|
from fastai.vision.all import * |
|
import gradio as gr |
|
from pathlib import Path |
|
|
|
project_dir = Path(__file__).parent |
|
|
|
def is_cat(x) -> bool: |
|
return x[0].isupper() |
|
|
|
learn = load_learner("model.pkl") |
|
|
|
categories = ("Dog", "Cat") |
|
|
|
def classify_image(img): |
|
img = PILImage.create(img) |
|
_, _, probs = learn.predict(img) |
|
return dict(zip(categories, [float(p) for p in probs])) |
|
|
|
image = gr.inputs.Image(shape=(192, 192)) |
|
label = gr.outputs.Label() |
|
examples = str((project_dir / "examples").absolute()) |
|
print(examples) |
|
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, |
|
title = "Dog/Cat Classifier", |
|
description = "A dog/cat classifier.", |
|
examples=examples, |
|
interpretation="default") |
|
intf.launch() |
|
|