Aryan Kumar commited on
Commit
e0ef435
1 Parent(s): 0d78b6c

new file: .ipynb_checkpoints/app-checkpoint.ipynb

Browse files

new file: app.ipynb
modified: app.py
new file: black.jpeg
new file: export.pkl
new file: grizzly.jpg
new file: model.pkl
new file: teddy.png

Files changed (8) hide show
  1. .ipynb_checkpoints/app-checkpoint.ipynb +6 -0
  2. app.ipynb +552 -0
  3. app.py +27 -4
  4. black.jpeg +0 -0
  5. export.pkl +3 -0
  6. grizzly.jpg +0 -0
  7. model.pkl +3 -0
  8. teddy.png +0 -0
.ipynb_checkpoints/app-checkpoint.ipynb ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [],
3
+ "metadata": {},
4
+ "nbformat": 4,
5
+ "nbformat_minor": 5
6
+ }
app.ipynb ADDED
@@ -0,0 +1,552 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 14,
6
+ "id": "3382719f",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "#|default_exp app"
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "markdown",
15
+ "id": "026f4508",
16
+ "metadata": {},
17
+ "source": [
18
+ "### Dogs V Cats"
19
+ ]
20
+ },
21
+ {
22
+ "cell_type": "code",
23
+ "execution_count": 28,
24
+ "id": "ed9b1499",
25
+ "metadata": {},
26
+ "outputs": [],
27
+ "source": [
28
+ "#|export\n",
29
+ "from fastai.vision.all import *\n",
30
+ "import gradio as gr\n"
31
+ ]
32
+ },
33
+ {
34
+ "cell_type": "code",
35
+ "execution_count": 29,
36
+ "id": "7b05e3e0",
37
+ "metadata": {},
38
+ "outputs": [],
39
+ "source": [
40
+ "#|export\n",
41
+ "def is_cat(x): return x[0].isupper() "
42
+ ]
43
+ },
44
+ {
45
+ "cell_type": "code",
46
+ "execution_count": 30,
47
+ "id": "445068d0",
48
+ "metadata": {},
49
+ "outputs": [],
50
+ "source": [
51
+ "#|export\n",
52
+ "learn = load_learner('export.pkl')"
53
+ ]
54
+ },
55
+ {
56
+ "cell_type": "code",
57
+ "execution_count": 18,
58
+ "id": "5b0c59b9",
59
+ "metadata": {},
60
+ "outputs": [
61
+ {
62
+ "data": {
63
+ "image/png": "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\n",
64
+ "text/plain": [
65
+ "PILImage mode=RGB size=192x192"
66
+ ]
67
+ },
68
+ "execution_count": 18,
69
+ "metadata": {},
70
+ "output_type": "execute_result"
71
+ }
72
+ ],
73
+ "source": [
74
+ "im = PILImage.create('grizzly.jpg')\n",
75
+ "im.thumbnail((192,192))\n",
76
+ "im\n",
77
+ "im2 = PILImage.create('teddy.png')\n",
78
+ "im2.thumbnail((192,192))\n",
79
+ "im2"
80
+ ]
81
+ },
82
+ {
83
+ "cell_type": "code",
84
+ "execution_count": 19,
85
+ "id": "d8d12d66",
86
+ "metadata": {},
87
+ "outputs": [
88
+ {
89
+ "data": {
90
+ "text/html": [
91
+ "\n",
92
+ "<style>\n",
93
+ " /* Turns off some styling */\n",
94
+ " progress {\n",
95
+ " /* gets rid of default border in Firefox and Opera. */\n",
96
+ " border: none;\n",
97
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
98
+ " background-size: auto;\n",
99
+ " }\n",
100
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
101
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
102
+ " }\n",
103
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
104
+ " background: #F44336;\n",
105
+ " }\n",
106
+ "</style>\n"
107
+ ],
108
+ "text/plain": [
109
+ "<IPython.core.display.HTML object>"
110
+ ]
111
+ },
112
+ "metadata": {},
113
+ "output_type": "display_data"
114
+ },
115
+ {
116
+ "data": {
117
+ "text/html": [],
118
+ "text/plain": [
119
+ "<IPython.core.display.HTML object>"
120
+ ]
121
+ },
122
+ "metadata": {},
123
+ "output_type": "display_data"
124
+ },
125
+ {
126
+ "name": "stdout",
127
+ "output_type": "stream",
128
+ "text": [
129
+ "CPU times: total: 156 ms\n",
130
+ "Wall time: 112 ms\n"
131
+ ]
132
+ },
133
+ {
134
+ "data": {
135
+ "text/plain": [
136
+ "('teddy', tensor(2), tensor([1.6561e-06, 1.1294e-16, 1.0000e+00]))"
137
+ ]
138
+ },
139
+ "execution_count": 19,
140
+ "metadata": {},
141
+ "output_type": "execute_result"
142
+ }
143
+ ],
144
+ "source": [
145
+ "%time learn.predict(im2)"
146
+ ]
147
+ },
148
+ {
149
+ "cell_type": "code",
150
+ "execution_count": 31,
151
+ "id": "64b78028",
152
+ "metadata": {},
153
+ "outputs": [],
154
+ "source": [
155
+ "#|export\n",
156
+ "categories = ('black', 'grizzly', 'teddy')"
157
+ ]
158
+ },
159
+ {
160
+ "cell_type": "code",
161
+ "execution_count": 32,
162
+ "id": "09a5a78b",
163
+ "metadata": {},
164
+ "outputs": [],
165
+ "source": [
166
+ "#|export\n",
167
+ "def classify_img(img):\n",
168
+ " cat,idx, prob = learn.predict(img)\n",
169
+ " return dict(zip(categories, map(float,prob)))"
170
+ ]
171
+ },
172
+ {
173
+ "cell_type": "code",
174
+ "execution_count": 34,
175
+ "id": "315163ab",
176
+ "metadata": {},
177
+ "outputs": [
178
+ {
179
+ "name": "stderr",
180
+ "output_type": "stream",
181
+ "text": [
182
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
183
+ " return getattr(torch, 'has_mps', False)\n"
184
+ ]
185
+ },
186
+ {
187
+ "data": {
188
+ "text/html": [
189
+ "\n",
190
+ "<style>\n",
191
+ " /* Turns off some styling */\n",
192
+ " progress {\n",
193
+ " /* gets rid of default border in Firefox and Opera. */\n",
194
+ " border: none;\n",
195
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
196
+ " background-size: auto;\n",
197
+ " }\n",
198
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
199
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
200
+ " }\n",
201
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
202
+ " background: #F44336;\n",
203
+ " }\n",
204
+ "</style>\n"
205
+ ],
206
+ "text/plain": [
207
+ "<IPython.core.display.HTML object>"
208
+ ]
209
+ },
210
+ "metadata": {},
211
+ "output_type": "display_data"
212
+ },
213
+ {
214
+ "data": {
215
+ "text/html": [],
216
+ "text/plain": [
217
+ "<IPython.core.display.HTML object>"
218
+ ]
219
+ },
220
+ "metadata": {},
221
+ "output_type": "display_data"
222
+ },
223
+ {
224
+ "data": {
225
+ "text/plain": [
226
+ "{'black': 1.6561184565944131e-06,\n",
227
+ " 'grizzly': 1.1294216881191653e-16,\n",
228
+ " 'teddy': 0.9999983310699463}"
229
+ ]
230
+ },
231
+ "execution_count": 34,
232
+ "metadata": {},
233
+ "output_type": "execute_result"
234
+ }
235
+ ],
236
+ "source": [
237
+ "classify_img(im2)"
238
+ ]
239
+ },
240
+ {
241
+ "cell_type": "code",
242
+ "execution_count": 45,
243
+ "id": "ce094742",
244
+ "metadata": {},
245
+ "outputs": [
246
+ {
247
+ "name": "stderr",
248
+ "output_type": "stream",
249
+ "text": [
250
+ "C:\\Users\\teent\\anaconda3\\Lib\\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",
251
+ " warnings.warn(\n",
252
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\gradio\\deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
253
+ " warnings.warn(value)\n",
254
+ "C:\\Users\\teent\\anaconda3\\Lib\\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",
255
+ " warnings.warn(\n",
256
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\gradio\\deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
257
+ " warnings.warn(value)\n"
258
+ ]
259
+ },
260
+ {
261
+ "name": "stdout",
262
+ "output_type": "stream",
263
+ "text": [
264
+ "Running on local URL: http://127.0.0.1:7862\n",
265
+ "\n",
266
+ "To create a public link, set `share=True` in `launch()`.\n"
267
+ ]
268
+ },
269
+ {
270
+ "data": {
271
+ "text/plain": []
272
+ },
273
+ "execution_count": 45,
274
+ "metadata": {},
275
+ "output_type": "execute_result"
276
+ },
277
+ {
278
+ "name": "stderr",
279
+ "output_type": "stream",
280
+ "text": [
281
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
282
+ " return getattr(torch, 'has_mps', False)\n"
283
+ ]
284
+ },
285
+ {
286
+ "data": {
287
+ "text/html": [
288
+ "\n",
289
+ "<style>\n",
290
+ " /* Turns off some styling */\n",
291
+ " progress {\n",
292
+ " /* gets rid of default border in Firefox and Opera. */\n",
293
+ " border: none;\n",
294
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
295
+ " background-size: auto;\n",
296
+ " }\n",
297
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
298
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
299
+ " }\n",
300
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
301
+ " background: #F44336;\n",
302
+ " }\n",
303
+ "</style>\n"
304
+ ],
305
+ "text/plain": [
306
+ "<IPython.core.display.HTML object>"
307
+ ]
308
+ },
309
+ "metadata": {},
310
+ "output_type": "display_data"
311
+ },
312
+ {
313
+ "data": {
314
+ "text/html": [],
315
+ "text/plain": [
316
+ "<IPython.core.display.HTML object>"
317
+ ]
318
+ },
319
+ "metadata": {},
320
+ "output_type": "display_data"
321
+ },
322
+ {
323
+ "name": "stderr",
324
+ "output_type": "stream",
325
+ "text": [
326
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
327
+ " return getattr(torch, 'has_mps', False)\n"
328
+ ]
329
+ },
330
+ {
331
+ "data": {
332
+ "text/html": [
333
+ "\n",
334
+ "<style>\n",
335
+ " /* Turns off some styling */\n",
336
+ " progress {\n",
337
+ " /* gets rid of default border in Firefox and Opera. */\n",
338
+ " border: none;\n",
339
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
340
+ " background-size: auto;\n",
341
+ " }\n",
342
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
343
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
344
+ " }\n",
345
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
346
+ " background: #F44336;\n",
347
+ " }\n",
348
+ "</style>\n"
349
+ ],
350
+ "text/plain": [
351
+ "<IPython.core.display.HTML object>"
352
+ ]
353
+ },
354
+ "metadata": {},
355
+ "output_type": "display_data"
356
+ },
357
+ {
358
+ "data": {
359
+ "text/html": [],
360
+ "text/plain": [
361
+ "<IPython.core.display.HTML object>"
362
+ ]
363
+ },
364
+ "metadata": {},
365
+ "output_type": "display_data"
366
+ },
367
+ {
368
+ "name": "stderr",
369
+ "output_type": "stream",
370
+ "text": [
371
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
372
+ " return getattr(torch, 'has_mps', False)\n"
373
+ ]
374
+ },
375
+ {
376
+ "data": {
377
+ "text/html": [
378
+ "\n",
379
+ "<style>\n",
380
+ " /* Turns off some styling */\n",
381
+ " progress {\n",
382
+ " /* gets rid of default border in Firefox and Opera. */\n",
383
+ " border: none;\n",
384
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
385
+ " background-size: auto;\n",
386
+ " }\n",
387
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
388
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
389
+ " }\n",
390
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
391
+ " background: #F44336;\n",
392
+ " }\n",
393
+ "</style>\n"
394
+ ],
395
+ "text/plain": [
396
+ "<IPython.core.display.HTML object>"
397
+ ]
398
+ },
399
+ "metadata": {},
400
+ "output_type": "display_data"
401
+ },
402
+ {
403
+ "data": {
404
+ "text/html": [],
405
+ "text/plain": [
406
+ "<IPython.core.display.HTML object>"
407
+ ]
408
+ },
409
+ "metadata": {},
410
+ "output_type": "display_data"
411
+ },
412
+ {
413
+ "name": "stderr",
414
+ "output_type": "stream",
415
+ "text": [
416
+ "C:\\Users\\teent\\anaconda3\\Lib\\site-packages\\fastai\\torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
417
+ " return getattr(torch, 'has_mps', False)\n"
418
+ ]
419
+ },
420
+ {
421
+ "data": {
422
+ "text/html": [
423
+ "\n",
424
+ "<style>\n",
425
+ " /* Turns off some styling */\n",
426
+ " progress {\n",
427
+ " /* gets rid of default border in Firefox and Opera. */\n",
428
+ " border: none;\n",
429
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
430
+ " background-size: auto;\n",
431
+ " }\n",
432
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
433
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
434
+ " }\n",
435
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
436
+ " background: #F44336;\n",
437
+ " }\n",
438
+ "</style>\n"
439
+ ],
440
+ "text/plain": [
441
+ "<IPython.core.display.HTML object>"
442
+ ]
443
+ },
444
+ "metadata": {},
445
+ "output_type": "display_data"
446
+ },
447
+ {
448
+ "data": {
449
+ "text/html": [],
450
+ "text/plain": [
451
+ "<IPython.core.display.HTML object>"
452
+ ]
453
+ },
454
+ "metadata": {},
455
+ "output_type": "display_data"
456
+ }
457
+ ],
458
+ "source": [
459
+ "#|export\n",
460
+ "image = gr.inputs.Image(shape = (192,192))\n",
461
+ "label = gr.outputs.Label()\n",
462
+ "examples = ['teddy.png', 'grizzly.jpg','black.jpeg']\n",
463
+ "intf = gr.Interface(fn = classify_img, inputs = image, outputs = label, examples = examples)\n",
464
+ "intf.launch(inline = False)"
465
+ ]
466
+ },
467
+ {
468
+ "cell_type": "code",
469
+ "execution_count": 49,
470
+ "id": "6fd86874",
471
+ "metadata": {},
472
+ "outputs": [
473
+ {
474
+ "name": "stdout",
475
+ "output_type": "stream",
476
+ "text": [
477
+ "Export successful\n"
478
+ ]
479
+ }
480
+ ],
481
+ "source": [
482
+ "import nbdev\n",
483
+ "nbdev.export.nb_export('app.ipynb', './')\n",
484
+ "print('Export successful')"
485
+ ]
486
+ },
487
+ {
488
+ "cell_type": "code",
489
+ "execution_count": 50,
490
+ "id": "7055baaf",
491
+ "metadata": {},
492
+ "outputs": [
493
+ {
494
+ "ename": "NameError",
495
+ "evalue": "name 'notebook2script' is not defined",
496
+ "output_type": "error",
497
+ "traceback": [
498
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
499
+ "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
500
+ "Cell \u001b[1;32mIn[50], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m notebook2script(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mapp.ipynb\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
501
+ "\u001b[1;31mNameError\u001b[0m: name 'notebook2script' is not defined"
502
+ ]
503
+ }
504
+ ],
505
+ "source": [
506
+ "# notebook2script('app.ipynb')"
507
+ ]
508
+ },
509
+ {
510
+ "cell_type": "code",
511
+ "execution_count": null,
512
+ "id": "e0d7d910",
513
+ "metadata": {},
514
+ "outputs": [],
515
+ "source": []
516
+ }
517
+ ],
518
+ "metadata": {
519
+ "kernelspec": {
520
+ "display_name": "Python 3 (ipykernel)",
521
+ "language": "python",
522
+ "name": "python3"
523
+ },
524
+ "language_info": {
525
+ "codemirror_mode": {
526
+ "name": "ipython",
527
+ "version": 3
528
+ },
529
+ "file_extension": ".py",
530
+ "mimetype": "text/x-python",
531
+ "name": "python",
532
+ "nbconvert_exporter": "python",
533
+ "pygments_lexer": "ipython3",
534
+ "version": "3.11.5"
535
+ },
536
+ "toc": {
537
+ "base_numbering": 1,
538
+ "nav_menu": {},
539
+ "number_sections": true,
540
+ "sideBar": true,
541
+ "skip_h1_title": false,
542
+ "title_cell": "Table of Contents",
543
+ "title_sidebar": "Contents",
544
+ "toc_cell": false,
545
+ "toc_position": {},
546
+ "toc_section_display": true,
547
+ "toc_window_display": false
548
+ }
549
+ },
550
+ "nbformat": 4,
551
+ "nbformat_minor": 5
552
+ }
app.py CHANGED
@@ -1,7 +1,30 @@
 
 
 
 
 
 
 
1
  import gradio as gr
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
2
+
3
+ # %% auto 0
4
+ __all__ = ['learn', 'categories', 'image', 'label', 'examples', 'intf', 'is_cat', 'classify_img']
5
+
6
+ # %% app.ipynb 2
7
+ from fastai.vision.all import *
8
  import gradio as gr
9
 
 
 
10
 
11
+ # %% app.ipynb 3
12
+ def is_cat(x): return x[0].isupper()
13
+
14
+ # %% app.ipynb 4
15
+ learn = load_learner('export.pkl')
16
+
17
+ # %% app.ipynb 7
18
+ categories = ('black', 'grizzly', 'teddy')
19
+
20
+ # %% app.ipynb 8
21
+ def classify_img(img):
22
+ cat,idx, prob = learn.predict(img)
23
+ return dict(zip(categories, map(float,prob)))
24
+
25
+ # %% app.ipynb 10
26
+ image = gr.inputs.Image(shape = (192,192))
27
+ label = gr.outputs.Label()
28
+ examples = ['teddy.png', 'grizzly.jpg','black.jpeg']
29
+ intf = gr.Interface(fn = classify_img, inputs = image, outputs = label, examples = examples)
30
+ intf.launch(inline = False)
black.jpeg ADDED
export.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08f0bfd9eb5831e25e066d2a32d15fab9a8c82b5e61009208c3add022c1ab44f
3
+ size 46977790
grizzly.jpg ADDED
model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1c09d8f778f89c9eb588eefd9a5ba094eb163cd3ea708a4ea567a83e924f149f
3
+ size 47059947
teddy.png ADDED