File size: 1,115 Bytes
2d5e6d5
 
 
 
 
 
7c0e851
 
 
 
 
 
 
ce91d74
 
 
 
 
 
 
2d5e6d5
ce91d74
 
 
2d5e6d5
ce91d74
 
 
 
 
 
2d5e6d5
ce91d74
 
 
 
 
 
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
# AUTOGENERATED! DO NOT EDIT! File to edit: ../app.ipynb.

# %% auto 0
__all__ = ['plt', 'learn', 'categories', 'image', 'label', 'examples', 'intf', 'is_cat', 'classify_image']

# %% ../app.ipynb 2
import sys
import subprocess

subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'gradio==3.50'])
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'fastai'])
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'ipywidgets'])

from fastai.vision.all import *
import gradio as gr
import pathlib as pl
plt = platform.system()

def is_cat(x): return x[0].isupper()

# %% ../app.ipynb 4
if plt == 'Linux' : pl.WindowsPath = pl.PosixPath
learn = load_learner('model.pkl')

# %% ../app.ipynb 6
categories = ('Dog', 'Cat')

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

# %% ../app.ipynb 8
image = gr.Image(height=192, width = 192)
label = gr.Label()
examples = ['dog.jpg', 'cat.jpg', 'dunno.jpg']

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