File size: 1,083 Bytes
8dd859b
 
 
2aff377
8dd859b
5bf649e
8dd859b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2aff377
8dd859b
e950bad
2aff377
5ff0020
 
 
 
 
 
 
 
 
 
 
 
8dd859b
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
42
__all__ = ['learn', 'classify_image', 'categories', 'image', 'label', 'examples', 'intf']

from fastai.vision.all import *
import gradio as gr
import timm
import skimage

# Some magic according to https://forums.fast.ai/t/lesson-2-official-topic/96033/376?page=17
def is_cat(x):
    return x[0].isupper()  # Used by model

import sys
sys.modules["__main__"].is_cat = is_cat

# Upload your model
learn = load_learner('corgi-classifier.pkl')

categories = learn.dls.vocab

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

image = gr.Image()
label = gr.Label()

# Upload your own images and link them
examples = ['cardigan.jpg', 'pembroke.jpg']

title = "Corgi Breed Classifier"
description = "A Corgie breed classifier to distinguish between Welsh Corgi Pembroke and Welsh Corgi Cardigan."
interpretation='default'

intf = gr.Interface(
    fn=classify_image, 
    inputs=image, 
    outputs=label, 
    examples=examples,
    title=title,
    description=description,
    interpretation=interpretation)
intf.launch()