File size: 1,186 Bytes
a0db1e3
db0e3c3
 
 
 
a0db1e3
db0e3c3
 
 
 
ba92632
db0e3c3
a0db1e3
db0e3c3
 
 
a0db1e3
db0e3c3
 
 
a0db1e3
db0e3c3
 
 
 
 
 
 
a0db1e3
1ce001c
db0e3c3
 
 
 
 
 
 
 
 
960c6de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# AUTOGENERATED! DO NOT EDIT! File to edit: ../course22/vikas/dog-or-cat.ipynb.

# %% auto 0
__all__ = ['learner', 'categories', 'example_imgs_path', 'img', 'label', 'examples', 'intf', 'is_cat', 'classify_image']

# %% ../course22/vikas/dog-or-cat.ipynb 2
# Imports
from fastai.vision.all import PILImage
from fastai.vision.all import load_learner
from pathlib import Path
import gradio as gr

# %% ../course22/vikas/dog-or-cat.ipynb 4
# Function to check if it is a cat
def is_cat(x): return x[0].isupper()

# %% ../course22/vikas/dog-or-cat.ipynb 6
# Load the trained model
learner = load_learner(fname="./dog_or_cat.pkl")

# %% ../course22/vikas/dog-or-cat.ipynb 8
categories = ("Cat", "Dog")

def classify_image(img):
    pred, idx, probs = learner.predict(img)
    print(pred, idx)
    return dict(zip(categories, map(float, probs)))

# %% ../course22/vikas/dog-or-cat.ipynb 10
example_imgs_path = Path("./sample")
img = gr.Image()
label = gr.Label()
examples = [
    example_imgs_path/f"dog.jpg",
    example_imgs_path/f"cat.jpg",
    example_imgs_path/f"dunno.jpg"
]

intf = gr.Interface(fn=classify_image, inputs=img, outputs=label, examples=examples)
intf.launch(inline=True)