File size: 4,983 Bytes
a90d782
 
 
 
 
 
0cba37e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a90d782
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
import gradio as gr
from fastai.vision.all import *
import skimage

learn = load_learner('export_ninjago_classifier.pkl')

labels = ['Acidicus (Serpentine)',
 'Acronix (Vermillion)',
 'Akita (Never-Realm inhabitants)',
 'Antonia (Recurring allies)',
 'Ash (Elemental Masters)',
 'Aspheera (Pyro Vipers)',
 'Bansha (Ghosts)',
 'Benthomaar (Merlopians)',
 'Blunck (Vermillion)',
 'Bolobo (Elemental Masters)',
 'Bucko (Sky Pirates)',
 'Captain Soto (Citizens of Ninjago City)',
 'Chamille (Elemental Masters)',
 'Char (Pyro Vipers)',
 'Chew Toy (Dragon Hunters)',
 'Chief Mammatus (The Island inhabitants)',
 'Chope (Anacondrai Cultists)',
 'Clancee (Sky Pirates)',
 'Clouse (Anacondrai Cultists)',
 'Clutch Powers (Recurring allies)',
 'Cole (Main Characters)',
 'Cyren (Sky Pirates)',
 'Cyrus Borg (Recurring allies)',
 'Daddy No Legs (Dragon Hunters)',
 'Dareth (Recurring allies)',
 'Dogshank (Sky Pirates)',
 'Doubloon (Sky Pirates)',
 'Dr. Julien (Family members)',
 'Edna Walker (Family members)',
 'Ed Walker (Family members)',
 'Eyezor (Anacondrai Cultists)',
 'Faith (Dragon Hunters)',
 'Fangtom (Serpentine)',
 'Flintlocke (Sky Pirates)',
 'Fred Finely (Citizens of Ninjago City)',
 'Fuchsia Ninja (New Ninja)',
 'Fugi-Dove (Citizens of Ninjago City)',
 'General Arcturus (Serpentine)',
 'General Cryptor (Nindroids)',
 'General Kozu (Stone Army)',
 'General Vex (Never-Realm inhabitants)',
 'Ghoultar (Ghosts)',
 'Gleck (Shintaro Kingdom inhabitants)',
 'Glutinous (Merlopians)',
 'Gravis  (Elemental Masters)',
 'Griffin Turner (Elemental Masters)',
 'Hounddog McBrag (Citizens of Ninjago City)',
 'Jacob Pevsner (Elemental Masters)',
 'Jay (Main Characters)',
 'Jet Jack (Dragon Hunters)',
 'Kai (Main Characters)',
 'Kapau (Anacondrai Cultists)',
 'Karlof (Elemental Masters)',
 'Khanjikhan (Sky Pirates)',
 'Killow (Sons of Garmadon)',
 'King Trimaar (Merlopians)',
 'King Vangelis_The Skull Sorcerer (Shintaro Kingdom inhabitants)',
 'Kruncha (Skulkin)',
 'Krux (Vermillion)',
 'Lloyd Garmadon (Main Characters)',
 'Lord Garmadon (Main Characters)',
 'Luke Cunningham (Sons of Garmadon)',
 'Machia (Vermillion)',
 'Master Chen (Anacondrai Cultists)',
 'Master Wu (Main Characters)',
 'Maya (Family members)',
 'Milton Dyer (Prime Empire inhabitants)',
 'Min-Droid (Nindroids)',
 'Misako (Family members)',
 'Mistaké (Recurring allies)',
 'Mister F (Council of the Crystal King)',
 'Monkey Wretch (Sky Pirates)',
 'Morro (Ghosts)',
 'Mr. E (Sons of Garmadon)',
 'Murt (Shintaro Kingdom inhabitants)',
 'Muzzle (Dragon Hunters)',
 'Nadakhan (Sky Pirates)',
 'Nelson (Recurring allies)',
 'Neuro (Elemental Masters)',
 'Nuckal (Skulkin)',
 'Nya (Main Characters)',
 'Officer Toque (Recurring allies)',
 'Okino (Prime Empire inhabitants)',
 'Orange Ninja (New Ninja)',
 'Paleman (Elemental Masters)',
 'Patty Keys (Citizens of Ninjago City)',
 'Pink Ninja (New Ninja)',
 'P.I.X.A.L. (Main Characters)',
 'Police Commissioner (Recurring allies)',
 'Postman (Citizens of Ninjago City)',
 'Prince Kalmaar (Merlopians)',
 'Princess Harumi (Sons of Garmadon)',
 'Princess Vania (Shintaro Kingdom inhabitants)',
 'Pythor P. Chumsworth (Serpentine)',
 'Raggmunk (Vermillion)',
 'Ray (Family members)',
 'Ronin (Recurring allies)',
 'Rufus MacAllister (Citizens of Ninjago City)',
 'Samukai (Skulkin)',
 'Scott (Prime Empire inhabitants)',
 'Sensei_Master Kodokuna Yang (Ghosts)',
 'Shade (Elemental Masters)',
 'Skales (Serpentine)',
 'Skalidor (Serpentine)',
 'Skylor Chen (Elemental Masters)',
 'Slithraa (Serpentine)',
 'Soul Archer (Ghosts)',
 'Squiffy (Sky Pirates)',
 'Sushimi (Prime Empire inhabitants)',
 'The First Spinjitzu Master (Family members)',
 'The Great Devourer (Serpentine)',
 'The Ice Emperor (Never-Realm inhabitants)',
 'The Iron Baron (Dragon Hunters)',
 'The Mechanic (Prime Empire inhabitants)',
 'The Omega (Oni)',
 'The Overlord (Stone Army)',
 'The Preeminent (Ghosts)',
 'Timothy "Twitchy Tim" Batterson (The Island inhabitants)',
 'Tox (Elemental Masters)',
 'Ultra Violet (Sons of Garmadon)',
 'Unagami (Prime Empire inhabitants)',
 'Wrayth (Ghosts)',
 'Wyplash (Skulkin)',
 'Zane (Main Characters)',
 'Zugu (Anacondrai Cultists)']





def predict(img):
    img = PILImage.create(img)
    pred, pred_idx, probs = learn.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}


title = "Ninjago Character Classifier"
description = "Guesses the name of the Ninjago characters. Created from the fastai demo for Gradio and HuggingFace Spaces."
#article = "<p style='text-align: center'><a href='https://tmabraham.github.io/blog/gradio_hf_spaces_tutorial' target='_blank'>Blog post</a></p>"
examples = ['Lloyd.jpg', 'Cole.png']
interpretation = 'default'
enable_queue = True

gr.Interface(fn=predict, inputs=gr.inputs.Image(shape=(192, 192)), outputs=gr.outputs.Label(num_top_classes=3), title=title,
             description=description, examples=examples, interpretation=interpretation, enable_queue=enable_queue).launch()