File size: 885 Bytes
e30c69d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import os
import fastbook
from pathlib import Path
from fastai.vision.widgets import *

fastbook.setup_book()

examples = ['./examples/pikachu.webp', './examples/charizard.webp',
            './examples/mewtwo.jpg', './examples/rayquaza.jpeg', './examples/cinderace.webp']

path = Path()
path.ls(file_exts='.pkl')
learn_inf = fastbook.load_learner(path/'pokemon-detector.pkl')

labels = learn_inf.dls.vocab

def pokemon_classifier(image):
    image = fastbook.PILImage.create(image)
    pred, pred_id, probs = learn_inf.predict(image)
    output = {labels[i]: float(probs[i]) for i in range(len(labels))}
    # limit the output to the top 5 results
    output = dict(sorted(output.items(), key=lambda item: item[1], reverse=True)[:5])
    return output


iface = gr.Interface(fn=pokemon_classifier, inputs="image", outputs="label", examples=examples)
iface.launch()