Spaces:
Runtime error
Runtime error
Add probability
Browse files- app.py +3 -2
- celebs.txt +100 -0
- model.pkl → model.pth +0 -0
- test.ipynb +199 -16
app.py
CHANGED
@@ -1,11 +1,12 @@
|
|
1 |
from fastai.vision.all import *
|
2 |
import gradio as gr
|
3 |
|
4 |
-
learn = load_learner('model.
|
5 |
|
6 |
def classify_image(img):
|
7 |
celebrity_name,_,probs = learn.predict(img)
|
8 |
-
|
|
|
9 |
|
10 |
image = gr.inputs.Image(shape=(224,224))
|
11 |
label = gr.outputs.Label()
|
|
|
1 |
from fastai.vision.all import *
|
2 |
import gradio as gr
|
3 |
|
4 |
+
learn = load_learner('model.pth')
|
5 |
|
6 |
def classify_image(img):
|
7 |
celebrity_name,_,probs = learn.predict(img)
|
8 |
+
probability = probs[list(learn.dls.vocab).index(celebrity_name)]
|
9 |
+
return {celebrity_name: probability}
|
10 |
|
11 |
image = gr.inputs.Image(shape=(224,224))
|
12 |
label = gr.outputs.Label()
|
celebs.txt
ADDED
@@ -0,0 +1,100 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Johnny Depp
|
2 |
+
Arnold Schwarzenegger
|
3 |
+
Jim Carrey
|
4 |
+
Emma Watson
|
5 |
+
Robert Downey Jr.
|
6 |
+
Daniel Radcliffe
|
7 |
+
Chris Evans
|
8 |
+
Leonardo DiCaprio
|
9 |
+
Tom Cruise
|
10 |
+
Brad Pitt
|
11 |
+
Charles Chaplin
|
12 |
+
Morgan Freeman
|
13 |
+
Tom Hanks
|
14 |
+
Hugh Jackman
|
15 |
+
Matt Damon
|
16 |
+
Sylvester Stallone
|
17 |
+
Will Smith
|
18 |
+
Clint Eastwood
|
19 |
+
Cameron Diaz
|
20 |
+
George Clooney
|
21 |
+
Steven Spielberg
|
22 |
+
Harrison Ford
|
23 |
+
Robert De Niro
|
24 |
+
Al Pacino
|
25 |
+
Robert Downey Jr.
|
26 |
+
Russell Crowe
|
27 |
+
Liam Neeson
|
28 |
+
Kate Winslet
|
29 |
+
Mark Wahlberg
|
30 |
+
Natalie Portman
|
31 |
+
Pierce Brosnan
|
32 |
+
Sean Connery
|
33 |
+
Orlando Bloom
|
34 |
+
Dwayne Johnson
|
35 |
+
Jackie Chan
|
36 |
+
Angelina Jolie
|
37 |
+
Adam Sandler
|
38 |
+
Scarlett Johansson
|
39 |
+
Heath Ledger
|
40 |
+
Anne Hathaway
|
41 |
+
Jessica Alba
|
42 |
+
Edward Norton
|
43 |
+
Keira Knightley
|
44 |
+
Bradley Cooper
|
45 |
+
Will Ferrell
|
46 |
+
Julia Roberts
|
47 |
+
Nicolas Cage
|
48 |
+
Daniel Craig
|
49 |
+
Keanu Reeves
|
50 |
+
Ian McKellen
|
51 |
+
Halle Berry
|
52 |
+
Bruce Willis
|
53 |
+
Samuel L. Jackson
|
54 |
+
Ben Stiller
|
55 |
+
Tommy Lee Jones
|
56 |
+
Antonio Banderas
|
57 |
+
Denzel Washington
|
58 |
+
Steve Carell
|
59 |
+
Shia LaBeouf
|
60 |
+
Megan Fox
|
61 |
+
James Franco
|
62 |
+
Mel Gibson
|
63 |
+
Vin Diesel
|
64 |
+
Tim Allen
|
65 |
+
Robin Williams
|
66 |
+
Kevin Spacey
|
67 |
+
Jason Biggs
|
68 |
+
Seann William Scott
|
69 |
+
Jean-Claude Van Damme
|
70 |
+
Zach Galifianakis
|
71 |
+
Owen Wilson
|
72 |
+
Christian Bale
|
73 |
+
Peter Jackson
|
74 |
+
Sandra Bullock
|
75 |
+
Bruce Lee
|
76 |
+
Drew Barrymore
|
77 |
+
Macaulay Culkin
|
78 |
+
Jack Nicholson
|
79 |
+
Bill Murray
|
80 |
+
Sigourney Weaver
|
81 |
+
Jake Gyllenhaal
|
82 |
+
Jason Statham
|
83 |
+
Jet Li
|
84 |
+
Kate Beckinsale
|
85 |
+
Rowan Atkinson
|
86 |
+
Marlon Brando
|
87 |
+
John Travolta
|
88 |
+
Channing Tatum
|
89 |
+
Ben Affleck
|
90 |
+
Shah Rukh Khan
|
91 |
+
Jennifer Aniston
|
92 |
+
Emma Stone
|
93 |
+
Chris Hemsworth
|
94 |
+
James McAvoy
|
95 |
+
James Cameron
|
96 |
+
Amitabh Bachchan
|
97 |
+
Brendan Fraser
|
98 |
+
Rachel McAdams
|
99 |
+
Tom Hiddleston
|
100 |
+
Aamir Khan
|
model.pkl → model.pth
RENAMED
File without changes
|
test.ipynb
CHANGED
@@ -2,35 +2,218 @@
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
-
"execution_count":
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
9 |
-
"from fastai.vision.all import
|
|
|
10 |
]
|
11 |
},
|
12 |
{
|
13 |
"cell_type": "code",
|
14 |
-
"execution_count":
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
"metadata": {},
|
16 |
"outputs": [
|
17 |
{
|
18 |
-
"
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
],
|
32 |
"source": [
|
33 |
-
"
|
|
|
|
|
|
|
34 |
]
|
35 |
},
|
36 |
{
|
|
|
2 |
"cells": [
|
3 |
{
|
4 |
"cell_type": "code",
|
5 |
+
"execution_count": 10,
|
6 |
"metadata": {},
|
7 |
"outputs": [],
|
8 |
"source": [
|
9 |
+
"from fastai.vision.all import *\n",
|
10 |
+
"from pathlib import Path"
|
11 |
]
|
12 |
},
|
13 |
{
|
14 |
"cell_type": "code",
|
15 |
+
"execution_count": 12,
|
16 |
+
"metadata": {},
|
17 |
+
"outputs": [],
|
18 |
+
"source": [
|
19 |
+
"learn = load_learner('model.pkl')"
|
20 |
+
]
|
21 |
+
},
|
22 |
+
{
|
23 |
+
"cell_type": "code",
|
24 |
+
"execution_count": 13,
|
25 |
+
"metadata": {},
|
26 |
+
"outputs": [
|
27 |
+
{
|
28 |
+
"data": {
|
29 |
+
"text/html": [
|
30 |
+
"\n",
|
31 |
+
"<style>\n",
|
32 |
+
" /* Turns off some styling */\n",
|
33 |
+
" progress {\n",
|
34 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
35 |
+
" border: none;\n",
|
36 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
37 |
+
" background-size: auto;\n",
|
38 |
+
" }\n",
|
39 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
40 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
41 |
+
" }\n",
|
42 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
43 |
+
" background: #F44336;\n",
|
44 |
+
" }\n",
|
45 |
+
"</style>\n"
|
46 |
+
],
|
47 |
+
"text/plain": [
|
48 |
+
"<IPython.core.display.HTML object>"
|
49 |
+
]
|
50 |
+
},
|
51 |
+
"metadata": {},
|
52 |
+
"output_type": "display_data"
|
53 |
+
},
|
54 |
+
{
|
55 |
+
"data": {
|
56 |
+
"text/html": [],
|
57 |
+
"text/plain": [
|
58 |
+
"<IPython.core.display.HTML object>"
|
59 |
+
]
|
60 |
+
},
|
61 |
+
"metadata": {},
|
62 |
+
"output_type": "display_data"
|
63 |
+
},
|
64 |
+
{
|
65 |
+
"data": {
|
66 |
+
"text/plain": [
|
67 |
+
"('Emma Watson',\n",
|
68 |
+
" tensor(30),\n",
|
69 |
+
" tensor([1.1929e-07, 5.8495e-08, 3.8198e-07, 9.0753e-06, 2.2058e-04, 1.2250e-04,\n",
|
70 |
+
" 2.0016e-07, 4.8305e-07, 2.2462e-08, 5.0742e-07, 3.7518e-07, 5.0198e-06,\n",
|
71 |
+
" 3.4834e-07, 2.3815e-06, 3.7357e-06, 1.9106e-08, 1.0254e-05, 1.1662e-04,\n",
|
72 |
+
" 8.8360e-07, 6.3956e-06, 1.2606e-06, 1.0974e-07, 6.6237e-08, 4.8988e-06,\n",
|
73 |
+
" 3.1586e-06, 3.8812e-08, 3.1651e-05, 2.0162e-06, 4.4486e-07, 1.3981e-04,\n",
|
74 |
+
" 9.9433e-01, 9.9587e-08, 4.3374e-06, 7.6844e-08, 1.2182e-06, 9.4450e-07,\n",
|
75 |
+
" 7.8193e-09, 1.0388e-06, 4.0273e-07, 1.4351e-07, 3.5202e-07, 1.0416e-07,\n",
|
76 |
+
" 5.1168e-07, 1.0324e-06, 8.8179e-07, 1.0323e-07, 1.7276e-05, 2.7315e-04,\n",
|
77 |
+
" 3.0939e-07, 2.0662e-06, 8.7540e-08, 2.7940e-06, 7.7654e-05, 2.8455e-03,\n",
|
78 |
+
" 1.5032e-04, 2.5726e-07, 4.8556e-04, 1.2773e-06, 2.7566e-06, 1.0871e-06,\n",
|
79 |
+
" 2.8510e-06, 1.8711e-07, 8.1365e-07, 1.4328e-07, 6.6794e-06, 5.6703e-08,\n",
|
80 |
+
" 9.1386e-09, 6.7899e-04, 2.3621e-07, 2.4263e-05, 1.7181e-07, 2.1496e-06,\n",
|
81 |
+
" 6.3289e-08, 1.0691e-04, 5.2058e-07, 1.4683e-06, 3.1002e-09, 1.3486e-06,\n",
|
82 |
+
" 6.8411e-07, 9.8865e-07, 1.4920e-04, 1.5001e-05, 1.8135e-07, 4.3004e-05,\n",
|
83 |
+
" 2.2933e-07, 1.4821e-06, 1.7363e-05, 5.0178e-07, 2.2853e-07, 4.7195e-08,\n",
|
84 |
+
" 2.7670e-07, 4.9980e-05, 4.5713e-08, 2.0050e-06, 1.3772e-06, 4.8403e-07,\n",
|
85 |
+
" 1.6381e-08, 3.9686e-08, 4.5362e-07]))"
|
86 |
+
]
|
87 |
+
},
|
88 |
+
"execution_count": 13,
|
89 |
+
"metadata": {},
|
90 |
+
"output_type": "execute_result"
|
91 |
+
}
|
92 |
+
],
|
93 |
+
"source": [
|
94 |
+
"learn.predict('emma_watson.jpg')"
|
95 |
+
]
|
96 |
+
},
|
97 |
+
{
|
98 |
+
"cell_type": "code",
|
99 |
+
"execution_count": 15,
|
100 |
"metadata": {},
|
101 |
"outputs": [
|
102 |
{
|
103 |
+
"data": {
|
104 |
+
"text/plain": [
|
105 |
+
"['Johnny Depp\\n',\n",
|
106 |
+
" 'Arnold Schwarzenegger\\n',\n",
|
107 |
+
" 'Jim Carrey\\n',\n",
|
108 |
+
" 'Emma Watson\\n',\n",
|
109 |
+
" 'Robert Downey Jr.\\n',\n",
|
110 |
+
" 'Daniel Radcliffe\\n',\n",
|
111 |
+
" 'Chris Evans\\n',\n",
|
112 |
+
" 'Leonardo DiCaprio\\n',\n",
|
113 |
+
" 'Tom Cruise\\n',\n",
|
114 |
+
" 'Brad Pitt\\n',\n",
|
115 |
+
" 'Charles Chaplin\\n',\n",
|
116 |
+
" 'Morgan Freeman\\n',\n",
|
117 |
+
" 'Tom Hanks\\n',\n",
|
118 |
+
" 'Hugh Jackman\\n',\n",
|
119 |
+
" 'Matt Damon\\n',\n",
|
120 |
+
" 'Sylvester Stallone\\n',\n",
|
121 |
+
" 'Will Smith\\n',\n",
|
122 |
+
" 'Clint Eastwood\\n',\n",
|
123 |
+
" 'Cameron Diaz\\n',\n",
|
124 |
+
" 'George Clooney\\n',\n",
|
125 |
+
" 'Steven Spielberg\\n',\n",
|
126 |
+
" 'Harrison Ford\\n',\n",
|
127 |
+
" 'Robert De Niro\\n',\n",
|
128 |
+
" 'Al Pacino\\n',\n",
|
129 |
+
" 'Robert Downey Jr.\\n',\n",
|
130 |
+
" 'Russell Crowe\\n',\n",
|
131 |
+
" 'Liam Neeson\\n',\n",
|
132 |
+
" 'Kate Winslet\\n',\n",
|
133 |
+
" 'Mark Wahlberg\\n',\n",
|
134 |
+
" 'Natalie Portman\\n',\n",
|
135 |
+
" 'Pierce Brosnan\\n',\n",
|
136 |
+
" 'Sean Connery\\n',\n",
|
137 |
+
" 'Orlando Bloom\\n',\n",
|
138 |
+
" 'Dwayne Johnson\\n',\n",
|
139 |
+
" 'Jackie Chan\\n',\n",
|
140 |
+
" 'Angelina Jolie\\n',\n",
|
141 |
+
" 'Adam Sandler\\n',\n",
|
142 |
+
" 'Scarlett Johansson\\n',\n",
|
143 |
+
" 'Heath Ledger\\n',\n",
|
144 |
+
" 'Anne Hathaway\\n',\n",
|
145 |
+
" 'Jessica Alba\\n',\n",
|
146 |
+
" 'Edward Norton\\n',\n",
|
147 |
+
" 'Keira Knightley\\n',\n",
|
148 |
+
" 'Bradley Cooper\\n',\n",
|
149 |
+
" 'Will Ferrell\\n',\n",
|
150 |
+
" 'Julia Roberts\\n',\n",
|
151 |
+
" 'Nicolas Cage\\n',\n",
|
152 |
+
" 'Daniel Craig\\n',\n",
|
153 |
+
" 'Keanu Reeves\\n',\n",
|
154 |
+
" 'Ian McKellen\\n',\n",
|
155 |
+
" 'Halle Berry\\n',\n",
|
156 |
+
" 'Bruce Willis\\n',\n",
|
157 |
+
" 'Samuel L. Jackson\\n',\n",
|
158 |
+
" 'Ben Stiller\\n',\n",
|
159 |
+
" 'Tommy Lee Jones\\n',\n",
|
160 |
+
" 'Antonio Banderas\\n',\n",
|
161 |
+
" 'Denzel Washington\\n',\n",
|
162 |
+
" 'Steve Carell\\n',\n",
|
163 |
+
" 'Shia LaBeouf\\n',\n",
|
164 |
+
" 'Megan Fox\\n',\n",
|
165 |
+
" 'James Franco\\n',\n",
|
166 |
+
" 'Mel Gibson\\n',\n",
|
167 |
+
" 'Vin Diesel\\n',\n",
|
168 |
+
" 'Tim Allen\\n',\n",
|
169 |
+
" 'Robin Williams\\n',\n",
|
170 |
+
" 'Kevin Spacey\\n',\n",
|
171 |
+
" 'Jason Biggs\\n',\n",
|
172 |
+
" 'Seann William Scott\\n',\n",
|
173 |
+
" 'Jean-Claude Van Damme\\n',\n",
|
174 |
+
" 'Zach Galifianakis\\n',\n",
|
175 |
+
" 'Owen Wilson\\n',\n",
|
176 |
+
" 'Christian Bale\\n',\n",
|
177 |
+
" 'Peter Jackson\\n',\n",
|
178 |
+
" 'Sandra Bullock\\n',\n",
|
179 |
+
" 'Bruce Lee\\n',\n",
|
180 |
+
" 'Drew Barrymore\\n',\n",
|
181 |
+
" 'Macaulay Culkin\\n',\n",
|
182 |
+
" 'Jack Nicholson\\n',\n",
|
183 |
+
" 'Bill Murray\\n',\n",
|
184 |
+
" 'Sigourney Weaver\\n',\n",
|
185 |
+
" 'Jake Gyllenhaal\\n',\n",
|
186 |
+
" 'Jason Statham\\n',\n",
|
187 |
+
" 'Jet Li\\n',\n",
|
188 |
+
" 'Kate Beckinsale\\n',\n",
|
189 |
+
" 'Rowan Atkinson\\n',\n",
|
190 |
+
" 'Marlon Brando\\n',\n",
|
191 |
+
" 'John Travolta\\n',\n",
|
192 |
+
" 'Channing Tatum\\n',\n",
|
193 |
+
" 'Ben Affleck\\n',\n",
|
194 |
+
" 'Shah Rukh Khan\\n',\n",
|
195 |
+
" 'Jennifer Aniston\\n',\n",
|
196 |
+
" 'Emma Stone\\n',\n",
|
197 |
+
" 'Chris Hemsworth\\n',\n",
|
198 |
+
" 'James McAvoy\\n',\n",
|
199 |
+
" 'James Cameron\\n',\n",
|
200 |
+
" 'Amitabh Bachchan\\n',\n",
|
201 |
+
" 'Brendan Fraser\\n',\n",
|
202 |
+
" 'Rachel McAdams\\n',\n",
|
203 |
+
" 'Tom Hiddleston\\n',\n",
|
204 |
+
" 'Aamir Khan\\n']"
|
205 |
+
]
|
206 |
+
},
|
207 |
+
"execution_count": 15,
|
208 |
+
"metadata": {},
|
209 |
+
"output_type": "execute_result"
|
210 |
}
|
211 |
],
|
212 |
"source": [
|
213 |
+
"with open('celebs.txt', 'r') as file:\n",
|
214 |
+
" celeb_list = file.readlines()\n",
|
215 |
+
"\n",
|
216 |
+
"celeb_list = [celeb.replace('\\n', '') for celeb in celeb_list]"
|
217 |
]
|
218 |
},
|
219 |
{
|