Spaces:
Build error
Build error
added .gitignore
Browse files
.gitignore
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
.ipynb_checkpoints
|
.ipynb_checkpoints/app-checkpoint.ipynb
DELETED
@@ -1,594 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "code",
|
5 |
-
"execution_count": null,
|
6 |
-
"id": "6003f943-4355-446f-a48a-2ceb3b194f35",
|
7 |
-
"metadata": {},
|
8 |
-
"outputs": [],
|
9 |
-
"source": [
|
10 |
-
"#| default_exp app"
|
11 |
-
]
|
12 |
-
},
|
13 |
-
{
|
14 |
-
"cell_type": "markdown",
|
15 |
-
"id": "120a54e9-3144-4bb7-ba4b-949c80951030",
|
16 |
-
"metadata": {},
|
17 |
-
"source": [
|
18 |
-
"# Snake Image Classification"
|
19 |
-
]
|
20 |
-
},
|
21 |
-
{
|
22 |
-
"cell_type": "code",
|
23 |
-
"execution_count": null,
|
24 |
-
"id": "eda4b34e-199c-4358-baf8-235bc0b995c7",
|
25 |
-
"metadata": {},
|
26 |
-
"outputs": [
|
27 |
-
{
|
28 |
-
"data": {
|
29 |
-
"text/plain": [
|
30 |
-
"'2.7.11'"
|
31 |
-
]
|
32 |
-
},
|
33 |
-
"execution_count": null,
|
34 |
-
"metadata": {},
|
35 |
-
"output_type": "execute_result"
|
36 |
-
}
|
37 |
-
],
|
38 |
-
"source": [
|
39 |
-
"import fastai\n",
|
40 |
-
"fastai.__version__"
|
41 |
-
]
|
42 |
-
},
|
43 |
-
{
|
44 |
-
"cell_type": "code",
|
45 |
-
"execution_count": null,
|
46 |
-
"id": "dc77cb01-22f1-4d1c-bdd2-ab1caff5123a",
|
47 |
-
"metadata": {},
|
48 |
-
"outputs": [],
|
49 |
-
"source": [
|
50 |
-
"#| export\n",
|
51 |
-
"from fastai.vision.all import *\n",
|
52 |
-
"from huggingface_hub import from_pretrained_fastai\n",
|
53 |
-
"import gradio as gr"
|
54 |
-
]
|
55 |
-
},
|
56 |
-
{
|
57 |
-
"cell_type": "code",
|
58 |
-
"execution_count": null,
|
59 |
-
"id": "f8bdf35f-049b-4554-b32c-b07f0095336c",
|
60 |
-
"metadata": {},
|
61 |
-
"outputs": [
|
62 |
-
{
|
63 |
-
"data": {
|
64 |
-
"application/vnd.jupyter.widget-view+json": {
|
65 |
-
"model_id": "dc081e18e6b545c985d52e0d13010ece",
|
66 |
-
"version_major": 2,
|
67 |
-
"version_minor": 0
|
68 |
-
},
|
69 |
-
"text/plain": [
|
70 |
-
"Fetching 4 files: 0%| | 0/4 [00:00<?, ?it/s]"
|
71 |
-
]
|
72 |
-
},
|
73 |
-
"metadata": {},
|
74 |
-
"output_type": "display_data"
|
75 |
-
}
|
76 |
-
],
|
77 |
-
"source": [
|
78 |
-
"#| export\n",
|
79 |
-
"repo_id = \"Jimmie/snake-image-classification\"\n",
|
80 |
-
"\n",
|
81 |
-
"# loading the model from huggingface_hub\n",
|
82 |
-
"learner = from_pretrained_fastai(repo_id)"
|
83 |
-
]
|
84 |
-
},
|
85 |
-
{
|
86 |
-
"cell_type": "code",
|
87 |
-
"execution_count": null,
|
88 |
-
"id": "f2ee25de-552b-4f04-8a3c-ca009d67f55e",
|
89 |
-
"metadata": {},
|
90 |
-
"outputs": [],
|
91 |
-
"source": [
|
92 |
-
"#| export\n",
|
93 |
-
"path = Path('demo-images/')"
|
94 |
-
]
|
95 |
-
},
|
96 |
-
{
|
97 |
-
"cell_type": "code",
|
98 |
-
"execution_count": null,
|
99 |
-
"id": "bd470688-5ed8-4620-9a9e-735ae0b8b79e",
|
100 |
-
"metadata": {},
|
101 |
-
"outputs": [
|
102 |
-
{
|
103 |
-
"data": {
|
104 |
-
"text/plain": [
|
105 |
-
"[Path('demo-images/masticophis.jpg'),\n",
|
106 |
-
" Path('demo-images/micrurus.jpg'),\n",
|
107 |
-
" Path('demo-images/agkistrodon.png'),\n",
|
108 |
-
" Path('demo-images/Pantherophis.jpg'),\n",
|
109 |
-
" Path('demo-images/lampropeltis.jpg'),\n",
|
110 |
-
" Path('demo-images/thamnophis.jpg'),\n",
|
111 |
-
" Path('demo-images/natrix.jpg'),\n",
|
112 |
-
" Path('demo-images/nerodia.jpg'),\n",
|
113 |
-
" Path('demo-images/tantilla.jpg'),\n",
|
114 |
-
" Path('demo-images/crotalus.jpg')]"
|
115 |
-
]
|
116 |
-
},
|
117 |
-
"execution_count": null,
|
118 |
-
"metadata": {},
|
119 |
-
"output_type": "execute_result"
|
120 |
-
}
|
121 |
-
],
|
122 |
-
"source": [
|
123 |
-
"list(path.ls())"
|
124 |
-
]
|
125 |
-
},
|
126 |
-
{
|
127 |
-
"cell_type": "code",
|
128 |
-
"execution_count": null,
|
129 |
-
"id": "60ef514f-54f6-4363-911f-6797b99dbbd2",
|
130 |
-
"metadata": {},
|
131 |
-
"outputs": [],
|
132 |
-
"source": [
|
133 |
-
"snakes = get_image_files(path)"
|
134 |
-
]
|
135 |
-
},
|
136 |
-
{
|
137 |
-
"cell_type": "code",
|
138 |
-
"execution_count": null,
|
139 |
-
"id": "fd671a4c-3f16-42d0-9df7-3302ab0da0eb",
|
140 |
-
"metadata": {},
|
141 |
-
"outputs": [
|
142 |
-
{
|
143 |
-
"data": {
|
144 |
-
"image/png": "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\n",
|
145 |
-
"text/plain": [
|
146 |
-
"PILImage mode=RGB size=192x146"
|
147 |
-
]
|
148 |
-
},
|
149 |
-
"execution_count": null,
|
150 |
-
"metadata": {},
|
151 |
-
"output_type": "execute_result"
|
152 |
-
}
|
153 |
-
],
|
154 |
-
"source": [
|
155 |
-
"im = PILImage.create(snakes[0])\n",
|
156 |
-
"im.thumbnail((192,192))\n",
|
157 |
-
"im"
|
158 |
-
]
|
159 |
-
},
|
160 |
-
{
|
161 |
-
"cell_type": "code",
|
162 |
-
"execution_count": null,
|
163 |
-
"id": "64f84ded-9fa6-4ad2-a998-5d81274cb253",
|
164 |
-
"metadata": {},
|
165 |
-
"outputs": [
|
166 |
-
{
|
167 |
-
"data": {
|
168 |
-
"text/plain": [
|
169 |
-
"Path('demo-images/masticophis.jpg')"
|
170 |
-
]
|
171 |
-
},
|
172 |
-
"execution_count": null,
|
173 |
-
"metadata": {},
|
174 |
-
"output_type": "execute_result"
|
175 |
-
}
|
176 |
-
],
|
177 |
-
"source": [
|
178 |
-
"snakes[0]"
|
179 |
-
]
|
180 |
-
},
|
181 |
-
{
|
182 |
-
"cell_type": "code",
|
183 |
-
"execution_count": null,
|
184 |
-
"id": "364db435-5d30-43af-8814-e953600535b6",
|
185 |
-
"metadata": {},
|
186 |
-
"outputs": [
|
187 |
-
{
|
188 |
-
"data": {
|
189 |
-
"text/html": [
|
190 |
-
"\n",
|
191 |
-
"<style>\n",
|
192 |
-
" /* Turns off some styling */\n",
|
193 |
-
" progress {\n",
|
194 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
195 |
-
" border: none;\n",
|
196 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
197 |
-
" background-size: auto;\n",
|
198 |
-
" }\n",
|
199 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
200 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
201 |
-
" }\n",
|
202 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
203 |
-
" background: #F44336;\n",
|
204 |
-
" }\n",
|
205 |
-
"</style>\n"
|
206 |
-
],
|
207 |
-
"text/plain": [
|
208 |
-
"<IPython.core.display.HTML object>"
|
209 |
-
]
|
210 |
-
},
|
211 |
-
"metadata": {},
|
212 |
-
"output_type": "display_data"
|
213 |
-
},
|
214 |
-
{
|
215 |
-
"data": {
|
216 |
-
"text/html": [],
|
217 |
-
"text/plain": [
|
218 |
-
"<IPython.core.display.HTML object>"
|
219 |
-
]
|
220 |
-
},
|
221 |
-
"metadata": {},
|
222 |
-
"output_type": "display_data"
|
223 |
-
},
|
224 |
-
{
|
225 |
-
"name": "stdout",
|
226 |
-
"output_type": "stream",
|
227 |
-
"text": [
|
228 |
-
"Prediction of the genus: Masticophis\n",
|
229 |
-
"Probability: 88.28%\n"
|
230 |
-
]
|
231 |
-
}
|
232 |
-
],
|
233 |
-
"source": [
|
234 |
-
"pred,idx,probs = learner.predict(im)\n",
|
235 |
-
"print(f\"Prediction of the genus: {pred}\")\n",
|
236 |
-
"print(f\"Probability: {100*probs[idx].item():.2f}%\")"
|
237 |
-
]
|
238 |
-
},
|
239 |
-
{
|
240 |
-
"cell_type": "code",
|
241 |
-
"execution_count": null,
|
242 |
-
"id": "1ed7a818-dc3c-4d67-937d-d142caf674f1",
|
243 |
-
"metadata": {},
|
244 |
-
"outputs": [
|
245 |
-
{
|
246 |
-
"data": {
|
247 |
-
"text/plain": [
|
248 |
-
"Path('demo-images/agkistrodon.png')"
|
249 |
-
]
|
250 |
-
},
|
251 |
-
"execution_count": null,
|
252 |
-
"metadata": {},
|
253 |
-
"output_type": "execute_result"
|
254 |
-
}
|
255 |
-
],
|
256 |
-
"source": [
|
257 |
-
"snakes[2]"
|
258 |
-
]
|
259 |
-
},
|
260 |
-
{
|
261 |
-
"cell_type": "code",
|
262 |
-
"execution_count": null,
|
263 |
-
"id": "bd71a128-18f4-4bee-a0c1-86e719d941cc",
|
264 |
-
"metadata": {},
|
265 |
-
"outputs": [
|
266 |
-
{
|
267 |
-
"data": {
|
268 |
-
"text/html": [
|
269 |
-
"\n",
|
270 |
-
"<style>\n",
|
271 |
-
" /* Turns off some styling */\n",
|
272 |
-
" progress {\n",
|
273 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
274 |
-
" border: none;\n",
|
275 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
276 |
-
" background-size: auto;\n",
|
277 |
-
" }\n",
|
278 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
279 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
280 |
-
" }\n",
|
281 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
282 |
-
" background: #F44336;\n",
|
283 |
-
" }\n",
|
284 |
-
"</style>\n"
|
285 |
-
],
|
286 |
-
"text/plain": [
|
287 |
-
"<IPython.core.display.HTML object>"
|
288 |
-
]
|
289 |
-
},
|
290 |
-
"metadata": {},
|
291 |
-
"output_type": "display_data"
|
292 |
-
},
|
293 |
-
{
|
294 |
-
"data": {
|
295 |
-
"text/html": [],
|
296 |
-
"text/plain": [
|
297 |
-
"<IPython.core.display.HTML object>"
|
298 |
-
]
|
299 |
-
},
|
300 |
-
"metadata": {},
|
301 |
-
"output_type": "display_data"
|
302 |
-
},
|
303 |
-
{
|
304 |
-
"name": "stdout",
|
305 |
-
"output_type": "stream",
|
306 |
-
"text": [
|
307 |
-
"Prediction of the genus: Agkistrodon\n",
|
308 |
-
"Probability: 91.21%\n"
|
309 |
-
]
|
310 |
-
}
|
311 |
-
],
|
312 |
-
"source": [
|
313 |
-
"pred,idx,probs = learner.predict(snakes[2])\n",
|
314 |
-
"print(f\"Prediction of the genus: {pred}\")\n",
|
315 |
-
"print(f\"Probability: {100*probs[idx].item():.2f}%\")"
|
316 |
-
]
|
317 |
-
},
|
318 |
-
{
|
319 |
-
"cell_type": "code",
|
320 |
-
"execution_count": null,
|
321 |
-
"id": "9fb6688e-ebc8-4718-8793-5f073c46bd89",
|
322 |
-
"metadata": {},
|
323 |
-
"outputs": [
|
324 |
-
{
|
325 |
-
"data": {
|
326 |
-
"text/plain": [
|
327 |
-
"Path('demo-images/nerodia.jpg')"
|
328 |
-
]
|
329 |
-
},
|
330 |
-
"execution_count": null,
|
331 |
-
"metadata": {},
|
332 |
-
"output_type": "execute_result"
|
333 |
-
}
|
334 |
-
],
|
335 |
-
"source": [
|
336 |
-
"snakes[7]"
|
337 |
-
]
|
338 |
-
},
|
339 |
-
{
|
340 |
-
"cell_type": "code",
|
341 |
-
"execution_count": null,
|
342 |
-
"id": "bae66287-589f-476d-925c-02ce34aeb70b",
|
343 |
-
"metadata": {},
|
344 |
-
"outputs": [
|
345 |
-
{
|
346 |
-
"data": {
|
347 |
-
"text/html": [
|
348 |
-
"\n",
|
349 |
-
"<style>\n",
|
350 |
-
" /* Turns off some styling */\n",
|
351 |
-
" progress {\n",
|
352 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
353 |
-
" border: none;\n",
|
354 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
355 |
-
" background-size: auto;\n",
|
356 |
-
" }\n",
|
357 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
358 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
359 |
-
" }\n",
|
360 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
361 |
-
" background: #F44336;\n",
|
362 |
-
" }\n",
|
363 |
-
"</style>\n"
|
364 |
-
],
|
365 |
-
"text/plain": [
|
366 |
-
"<IPython.core.display.HTML object>"
|
367 |
-
]
|
368 |
-
},
|
369 |
-
"metadata": {},
|
370 |
-
"output_type": "display_data"
|
371 |
-
},
|
372 |
-
{
|
373 |
-
"data": {
|
374 |
-
"text/html": [],
|
375 |
-
"text/plain": [
|
376 |
-
"<IPython.core.display.HTML object>"
|
377 |
-
]
|
378 |
-
},
|
379 |
-
"metadata": {},
|
380 |
-
"output_type": "display_data"
|
381 |
-
},
|
382 |
-
{
|
383 |
-
"name": "stdout",
|
384 |
-
"output_type": "stream",
|
385 |
-
"text": [
|
386 |
-
"Prediction of the genus: Nerodia\n",
|
387 |
-
"Probability: 64.35%\n"
|
388 |
-
]
|
389 |
-
}
|
390 |
-
],
|
391 |
-
"source": [
|
392 |
-
"pred,idx,probs = learner.predict(snakes[7])\n",
|
393 |
-
"print(f\"Prediction of the genus: {pred}\")\n",
|
394 |
-
"print(f\"Probability: {100*probs[idx].item():.2f}%\")"
|
395 |
-
]
|
396 |
-
},
|
397 |
-
{
|
398 |
-
"cell_type": "code",
|
399 |
-
"execution_count": null,
|
400 |
-
"id": "797ec0c4-db66-4312-9d67-d4e008fbca0c",
|
401 |
-
"metadata": {},
|
402 |
-
"outputs": [],
|
403 |
-
"source": [
|
404 |
-
"#| export\n",
|
405 |
-
"categories = tuple(learner.dls.vocab)\n",
|
406 |
-
"\n",
|
407 |
-
"def classify_image(img):\n",
|
408 |
-
" pred,idx,probs = learner.predict(img)\n",
|
409 |
-
" return dict(zip(categories, map(float, probs)))"
|
410 |
-
]
|
411 |
-
},
|
412 |
-
{
|
413 |
-
"cell_type": "code",
|
414 |
-
"execution_count": null,
|
415 |
-
"id": "0a9cf1d8-b2ac-44a1-88f3-778814fe69c5",
|
416 |
-
"metadata": {},
|
417 |
-
"outputs": [
|
418 |
-
{
|
419 |
-
"data": {
|
420 |
-
"text/html": [
|
421 |
-
"\n",
|
422 |
-
"<style>\n",
|
423 |
-
" /* Turns off some styling */\n",
|
424 |
-
" progress {\n",
|
425 |
-
" /* gets rid of default border in Firefox and Opera. */\n",
|
426 |
-
" border: none;\n",
|
427 |
-
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
428 |
-
" background-size: auto;\n",
|
429 |
-
" }\n",
|
430 |
-
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
431 |
-
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
432 |
-
" }\n",
|
433 |
-
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
434 |
-
" background: #F44336;\n",
|
435 |
-
" }\n",
|
436 |
-
"</style>\n"
|
437 |
-
],
|
438 |
-
"text/plain": [
|
439 |
-
"<IPython.core.display.HTML object>"
|
440 |
-
]
|
441 |
-
},
|
442 |
-
"metadata": {},
|
443 |
-
"output_type": "display_data"
|
444 |
-
},
|
445 |
-
{
|
446 |
-
"data": {
|
447 |
-
"text/html": [],
|
448 |
-
"text/plain": [
|
449 |
-
"<IPython.core.display.HTML object>"
|
450 |
-
]
|
451 |
-
},
|
452 |
-
"metadata": {},
|
453 |
-
"output_type": "display_data"
|
454 |
-
},
|
455 |
-
{
|
456 |
-
"data": {
|
457 |
-
"text/plain": [
|
458 |
-
"{'Agkistrodon': 0.00013586886052507907,\n",
|
459 |
-
" 'Crotalus': 0.010002714581787586,\n",
|
460 |
-
" 'Lampropeltis': 0.00047056630137376487,\n",
|
461 |
-
" 'Masticophis': 0.0002429549494991079,\n",
|
462 |
-
" 'Micrurus': 0.00012576498556882143,\n",
|
463 |
-
" 'Natrix': 0.3323909044265747,\n",
|
464 |
-
" 'Nerodia': 0.6434937715530396,\n",
|
465 |
-
" 'Pantherophis': 0.0035959137603640556,\n",
|
466 |
-
" 'Tantilla': 0.00017943432612810284,\n",
|
467 |
-
" 'Thamnophis': 0.009362072683870792}"
|
468 |
-
]
|
469 |
-
},
|
470 |
-
"execution_count": null,
|
471 |
-
"metadata": {},
|
472 |
-
"output_type": "execute_result"
|
473 |
-
}
|
474 |
-
],
|
475 |
-
"source": [
|
476 |
-
"classify_image(snakes[7])"
|
477 |
-
]
|
478 |
-
},
|
479 |
-
{
|
480 |
-
"cell_type": "code",
|
481 |
-
"execution_count": null,
|
482 |
-
"id": "21ab9dc4-c665-4847-b255-6e1135ebe716",
|
483 |
-
"metadata": {},
|
484 |
-
"outputs": [
|
485 |
-
{
|
486 |
-
"name": "stderr",
|
487 |
-
"output_type": "stream",
|
488 |
-
"text": [
|
489 |
-
"/home/eleven/mambaforge/envs/fastai/lib/python3.10/site-packages/gradio/inputs.py:257: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n",
|
490 |
-
" warnings.warn(\n",
|
491 |
-
"/home/eleven/mambaforge/envs/fastai/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
|
492 |
-
" warnings.warn(value)\n",
|
493 |
-
"/home/eleven/mambaforge/envs/fastai/lib/python3.10/site-packages/gradio/outputs.py:197: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
|
494 |
-
" warnings.warn(\n",
|
495 |
-
"/home/eleven/mambaforge/envs/fastai/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
|
496 |
-
" warnings.warn(value)\n",
|
497 |
-
"/home/eleven/mambaforge/envs/fastai/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: `enable_queue` is deprecated in `Interface()`, please use it within `launch()` instead.\n",
|
498 |
-
" warnings.warn(value)\n"
|
499 |
-
]
|
500 |
-
},
|
501 |
-
{
|
502 |
-
"name": "stdout",
|
503 |
-
"output_type": "stream",
|
504 |
-
"text": [
|
505 |
-
"Running on local URL: http://127.0.0.1:7860\n",
|
506 |
-
"\n",
|
507 |
-
"To create a public link, set `share=True` in `launch()`.\n"
|
508 |
-
]
|
509 |
-
},
|
510 |
-
{
|
511 |
-
"data": {
|
512 |
-
"text/plain": []
|
513 |
-
},
|
514 |
-
"execution_count": null,
|
515 |
-
"metadata": {},
|
516 |
-
"output_type": "execute_result"
|
517 |
-
}
|
518 |
-
],
|
519 |
-
"source": [
|
520 |
-
"#| export\n",
|
521 |
-
"title = \"Snake Image Classification\"\n",
|
522 |
-
"\n",
|
523 |
-
"description = \"\"\"\n",
|
524 |
-
"This demo is an ongoing iteration of a [bigger project](https://github.com/jimmiemunyi/the-snake-project) meant to classify snakes as venomous or non-venomous.\n",
|
525 |
-
"\n",
|
526 |
-
"Currently, it can classify snakes into 10 genera.\n",
|
527 |
-
"\n",
|
528 |
-
"The model can be found here: https://huggingface.co/Jimmie/snake-image-classification\n",
|
529 |
-
" \n",
|
530 |
-
"\n",
|
531 |
-
"Enjoy!\n",
|
532 |
-
"\"\"\"\n",
|
533 |
-
"\n",
|
534 |
-
"article = \"Blog posts on how the model is being trained: .\"\n",
|
535 |
-
"\n",
|
536 |
-
"\n",
|
537 |
-
"image = gr.inputs.Image(shape=(224, 224))\n",
|
538 |
-
"label = gr.outputs.Label()\n",
|
539 |
-
"examples = list(path.ls())\n",
|
540 |
-
"\n",
|
541 |
-
"\n",
|
542 |
-
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples,\n",
|
543 |
-
" title = title, description = description, article = article,\n",
|
544 |
-
" enable_queue=True, cache_examples=False)\n",
|
545 |
-
"intf.launch(inline=False)"
|
546 |
-
]
|
547 |
-
},
|
548 |
-
{
|
549 |
-
"cell_type": "markdown",
|
550 |
-
"id": "4caf8f17-34a7-4c98-ac10-80ac3ff7c08b",
|
551 |
-
"metadata": {},
|
552 |
-
"source": [
|
553 |
-
"# export"
|
554 |
-
]
|
555 |
-
},
|
556 |
-
{
|
557 |
-
"cell_type": "code",
|
558 |
-
"execution_count": null,
|
559 |
-
"id": "eabe8427-b99a-415b-ba02-43c80822c118",
|
560 |
-
"metadata": {},
|
561 |
-
"outputs": [],
|
562 |
-
"source": [
|
563 |
-
"from nbdev.export import nb_export"
|
564 |
-
]
|
565 |
-
},
|
566 |
-
{
|
567 |
-
"cell_type": "code",
|
568 |
-
"execution_count": null,
|
569 |
-
"id": "55d4181b-fb8c-425f-be5e-d52c3d423708",
|
570 |
-
"metadata": {},
|
571 |
-
"outputs": [],
|
572 |
-
"source": [
|
573 |
-
"nb_export('app.ipynb', lib_path='.')"
|
574 |
-
]
|
575 |
-
},
|
576 |
-
{
|
577 |
-
"cell_type": "code",
|
578 |
-
"execution_count": null,
|
579 |
-
"id": "90e76e03-90aa-414a-b203-ee306cc8c59f",
|
580 |
-
"metadata": {},
|
581 |
-
"outputs": [],
|
582 |
-
"source": []
|
583 |
-
}
|
584 |
-
],
|
585 |
-
"metadata": {
|
586 |
-
"kernelspec": {
|
587 |
-
"display_name": "Python 3 (ipykernel)",
|
588 |
-
"language": "python",
|
589 |
-
"name": "python3"
|
590 |
-
}
|
591 |
-
},
|
592 |
-
"nbformat": 4,
|
593 |
-
"nbformat_minor": 5
|
594 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.ipynb_checkpoints/requirements-checkpoint.txt
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
fastai<=2.7.11
|
|
|
|