|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from fastai.vision.all import * |
|
|
import gradio as gr |
|
|
import os |
|
|
|
|
|
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))) |
|
|
|
|
|
|
|
|
image = gr.components.Image(shape=(192, 192)) |
|
|
label = gr.components.Label() |
|
|
examples = [ |
|
|
os.path.join(os.path.dirname(__file__), "dog.jpg"), |
|
|
os.path.join(os.path.dirname(__file__), "cat.jpg"), |
|
|
os.path.join(os.path.dirname(__file__), "dunno.jpg"), |
|
|
] |
|
|
|
|
|
intf = gr.Interface( |
|
|
fn=classify_image, |
|
|
inputs=image, |
|
|
outputs=label, |
|
|
examples=examples, |
|
|
flagging_options=["incorrect", "other"] |
|
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
|
intf.launch(inline=False, share=True) |
|
|
|