File size: 1,261 Bytes
1ba10bb
0cde3b1
 
 
 
 
 
 
 
 
 
 
 
 
c6a9111
0cde3b1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31cee1b
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
#__all__ = ['learn', 'categories', 'image', 'label', 'examples', 'intf', 'is_cat', 'classify_image']

#import timm
# %% app.ipynb 2
from fastai.vision.all import *
import gradio as gr
#import timm

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

# %% app.ipynb 4
learn = load_learner('app.pkl')

# %% app.ipynb 6
categories = ('Alpine', 'AstonMartin', 'Ferrari', 'Haas', 'McLaren', 'Mercedes', 'RB' , 'Redbull', 'Sauber', 'Williams')
#categories = ( 'Mercedes cars', 'Ferrari cars', 'BMW cars', 'Bentley cars', 'Porsche cars', 'Aston Martin cars', 'Audi cars' , 'Maserati cars', 'McLaren cars', 'Lamborghini cars', 'Bugatti cars', 'Koenigsegg cars', 'Pagani cars', 'Tesla cars')
#categories = ('Dog', 'Cat')

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

# %% app.ipynb 8
from gradio.components import Image, Label

# %% app.ipynb 9
image =  Image(width=300, height=240)
label = Label()
examples = ['mclaren.jpg', 'ferrari_f1.jpg', 'redbull_f1.jpg',
            'merc.jpg', 'aston_martin.jpg', 'alpine.jpg', 'haas.jpg',
            'sauber.jpg', 'rb.jpg', 'williams.jpg'
            ]
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
intf.launch(inline=False)