letsguo commited on
Commit
2dd80b5
1 Parent(s): 8385b77

initial commit

Browse files
.ipynb_checkpoints/app-checkpoint.ipynb ADDED
@@ -0,0 +1,609 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {
7
+ "id": "uQ8h6MI-5-4U"
8
+ },
9
+ "outputs": [],
10
+ "source": [
11
+ "!pip install -q gradio\n",
12
+ "!pip install -Uqq fastai\n",
13
+ "!pip install -q nbdev"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": 2,
19
+ "metadata": {
20
+ "id": "SzVW0j2o5HUy"
21
+ },
22
+ "outputs": [],
23
+ "source": [
24
+ "#/export\n",
25
+ "from fastai.vision.all import *\n",
26
+ "import gradio as gr\n",
27
+ "\n",
28
+ "def is_cat(x): return x[0].isupper()"
29
+ ]
30
+ },
31
+ {
32
+ "cell_type": "code",
33
+ "execution_count": 3,
34
+ "metadata": {
35
+ "colab": {
36
+ "base_uri": "https://localhost:8080/",
37
+ "height": 125
38
+ },
39
+ "id": "Mdo2Nck55RLX",
40
+ "outputId": "b45c4639-f4f0-4f9d-ff83-cc1556d6268e"
41
+ },
42
+ "outputs": [
43
+ {
44
+ "data": {
45
+ "image/png": "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\n",
46
+ "text/plain": [
47
+ "PILImage mode=RGB size=192x108"
48
+ ]
49
+ },
50
+ "execution_count": 3,
51
+ "metadata": {},
52
+ "output_type": "execute_result"
53
+ }
54
+ ],
55
+ "source": [
56
+ "im = PILImage.create('uw_husky.jpg')\n",
57
+ "im.thumbnail((192,192))\n",
58
+ "im"
59
+ ]
60
+ },
61
+ {
62
+ "cell_type": "code",
63
+ "execution_count": 24,
64
+ "metadata": {},
65
+ "outputs": [],
66
+ "source": [
67
+ "#/export\n",
68
+ "learn = load_learner('model.pkl')"
69
+ ]
70
+ },
71
+ {
72
+ "cell_type": "code",
73
+ "execution_count": 25,
74
+ "metadata": {
75
+ "id": "1Z2DR3aKPzsp"
76
+ },
77
+ "outputs": [
78
+ {
79
+ "data": {
80
+ "text/html": [
81
+ "\n",
82
+ "<style>\n",
83
+ " /* Turns off some styling */\n",
84
+ " progress {\n",
85
+ " /* gets rid of default border in Firefox and Opera. */\n",
86
+ " border: none;\n",
87
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
88
+ " background-size: auto;\n",
89
+ " }\n",
90
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
91
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
92
+ " }\n",
93
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
94
+ " background: #F44336;\n",
95
+ " }\n",
96
+ "</style>\n"
97
+ ],
98
+ "text/plain": [
99
+ "<IPython.core.display.HTML object>"
100
+ ]
101
+ },
102
+ "metadata": {},
103
+ "output_type": "display_data"
104
+ },
105
+ {
106
+ "data": {
107
+ "text/html": [],
108
+ "text/plain": [
109
+ "<IPython.core.display.HTML object>"
110
+ ]
111
+ },
112
+ "metadata": {},
113
+ "output_type": "display_data"
114
+ },
115
+ {
116
+ "data": {
117
+ "text/plain": [
118
+ "('False', TensorBase(0), TensorBase([1.0000e+00, 1.3709e-08]))"
119
+ ]
120
+ },
121
+ "execution_count": 25,
122
+ "metadata": {},
123
+ "output_type": "execute_result"
124
+ }
125
+ ],
126
+ "source": [
127
+ "learn.predict(im)"
128
+ ]
129
+ },
130
+ {
131
+ "cell_type": "code",
132
+ "execution_count": 26,
133
+ "metadata": {},
134
+ "outputs": [],
135
+ "source": [
136
+ "#/export\n",
137
+ "categories = ('husky', 'cougar')\n",
138
+ "\n",
139
+ "#gradio requires function for classifying image\n",
140
+ "def classify_image(img):\n",
141
+ " #predict returns prediction as string, index, and probability\n",
142
+ " pred,idx,probs = learn.predict(img)\n",
143
+ " return dict(zip(categories, map(float,probs)))"
144
+ ]
145
+ },
146
+ {
147
+ "cell_type": "code",
148
+ "execution_count": 28,
149
+ "metadata": {},
150
+ "outputs": [
151
+ {
152
+ "data": {
153
+ "text/html": [
154
+ "\n",
155
+ "<style>\n",
156
+ " /* Turns off some styling */\n",
157
+ " progress {\n",
158
+ " /* gets rid of default border in Firefox and Opera. */\n",
159
+ " border: none;\n",
160
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
161
+ " background-size: auto;\n",
162
+ " }\n",
163
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
164
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
165
+ " }\n",
166
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
167
+ " background: #F44336;\n",
168
+ " }\n",
169
+ "</style>\n"
170
+ ],
171
+ "text/plain": [
172
+ "<IPython.core.display.HTML object>"
173
+ ]
174
+ },
175
+ "metadata": {},
176
+ "output_type": "display_data"
177
+ },
178
+ {
179
+ "data": {
180
+ "text/html": [],
181
+ "text/plain": [
182
+ "<IPython.core.display.HTML object>"
183
+ ]
184
+ },
185
+ "metadata": {},
186
+ "output_type": "display_data"
187
+ },
188
+ {
189
+ "data": {
190
+ "text/plain": [
191
+ "{'Dog': 1.0, 'Cat': 1.3708975288295733e-08}"
192
+ ]
193
+ },
194
+ "execution_count": 28,
195
+ "metadata": {},
196
+ "output_type": "execute_result"
197
+ }
198
+ ],
199
+ "source": [
200
+ "classify_image(im)"
201
+ ]
202
+ },
203
+ {
204
+ "cell_type": "code",
205
+ "execution_count": 29,
206
+ "metadata": {
207
+ "scrolled": true
208
+ },
209
+ "outputs": [
210
+ {
211
+ "name": "stderr",
212
+ "output_type": "stream",
213
+ "text": [
214
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/inputs.py:256: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n",
215
+ " warnings.warn(\n",
216
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
217
+ " warnings.warn(value)\n",
218
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/outputs.py:196: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
219
+ " warnings.warn(\n",
220
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
221
+ " warnings.warn(value)\n"
222
+ ]
223
+ },
224
+ {
225
+ "name": "stdout",
226
+ "output_type": "stream",
227
+ "text": [
228
+ "Running on local URL: http://127.0.0.1:7861\n",
229
+ "\n",
230
+ "To create a public link, set `share=True` in `launch()`.\n"
231
+ ]
232
+ },
233
+ {
234
+ "data": {
235
+ "text/plain": [
236
+ "(<gradio.routes.App at 0x7fe092b89b20>, 'http://127.0.0.1:7861/', None)"
237
+ ]
238
+ },
239
+ "execution_count": 29,
240
+ "metadata": {},
241
+ "output_type": "execute_result"
242
+ },
243
+ {
244
+ "data": {
245
+ "text/html": [
246
+ "\n",
247
+ "<style>\n",
248
+ " /* Turns off some styling */\n",
249
+ " progress {\n",
250
+ " /* gets rid of default border in Firefox and Opera. */\n",
251
+ " border: none;\n",
252
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
253
+ " background-size: auto;\n",
254
+ " }\n",
255
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
256
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
257
+ " }\n",
258
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
259
+ " background: #F44336;\n",
260
+ " }\n",
261
+ "</style>\n"
262
+ ],
263
+ "text/plain": [
264
+ "<IPython.core.display.HTML object>"
265
+ ]
266
+ },
267
+ "metadata": {},
268
+ "output_type": "display_data"
269
+ },
270
+ {
271
+ "data": {
272
+ "text/html": [],
273
+ "text/plain": [
274
+ "<IPython.core.display.HTML object>"
275
+ ]
276
+ },
277
+ "metadata": {},
278
+ "output_type": "display_data"
279
+ },
280
+ {
281
+ "data": {
282
+ "text/html": [
283
+ "\n",
284
+ "<style>\n",
285
+ " /* Turns off some styling */\n",
286
+ " progress {\n",
287
+ " /* gets rid of default border in Firefox and Opera. */\n",
288
+ " border: none;\n",
289
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
290
+ " background-size: auto;\n",
291
+ " }\n",
292
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
293
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
294
+ " }\n",
295
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
296
+ " background: #F44336;\n",
297
+ " }\n",
298
+ "</style>\n"
299
+ ],
300
+ "text/plain": [
301
+ "<IPython.core.display.HTML object>"
302
+ ]
303
+ },
304
+ "metadata": {},
305
+ "output_type": "display_data"
306
+ },
307
+ {
308
+ "data": {
309
+ "text/html": [],
310
+ "text/plain": [
311
+ "<IPython.core.display.HTML object>"
312
+ ]
313
+ },
314
+ "metadata": {},
315
+ "output_type": "display_data"
316
+ },
317
+ {
318
+ "data": {
319
+ "text/html": [
320
+ "\n",
321
+ "<style>\n",
322
+ " /* Turns off some styling */\n",
323
+ " progress {\n",
324
+ " /* gets rid of default border in Firefox and Opera. */\n",
325
+ " border: none;\n",
326
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
327
+ " background-size: auto;\n",
328
+ " }\n",
329
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
330
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
331
+ " }\n",
332
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
333
+ " background: #F44336;\n",
334
+ " }\n",
335
+ "</style>\n"
336
+ ],
337
+ "text/plain": [
338
+ "<IPython.core.display.HTML object>"
339
+ ]
340
+ },
341
+ "metadata": {},
342
+ "output_type": "display_data"
343
+ },
344
+ {
345
+ "data": {
346
+ "text/html": [],
347
+ "text/plain": [
348
+ "<IPython.core.display.HTML object>"
349
+ ]
350
+ },
351
+ "metadata": {},
352
+ "output_type": "display_data"
353
+ },
354
+ {
355
+ "data": {
356
+ "text/html": [
357
+ "\n",
358
+ "<style>\n",
359
+ " /* Turns off some styling */\n",
360
+ " progress {\n",
361
+ " /* gets rid of default border in Firefox and Opera. */\n",
362
+ " border: none;\n",
363
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
364
+ " background-size: auto;\n",
365
+ " }\n",
366
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
367
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
368
+ " }\n",
369
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
370
+ " background: #F44336;\n",
371
+ " }\n",
372
+ "</style>\n"
373
+ ],
374
+ "text/plain": [
375
+ "<IPython.core.display.HTML object>"
376
+ ]
377
+ },
378
+ "metadata": {},
379
+ "output_type": "display_data"
380
+ },
381
+ {
382
+ "data": {
383
+ "text/html": [],
384
+ "text/plain": [
385
+ "<IPython.core.display.HTML object>"
386
+ ]
387
+ },
388
+ "metadata": {},
389
+ "output_type": "display_data"
390
+ },
391
+ {
392
+ "data": {
393
+ "text/html": [
394
+ "\n",
395
+ "<style>\n",
396
+ " /* Turns off some styling */\n",
397
+ " progress {\n",
398
+ " /* gets rid of default border in Firefox and Opera. */\n",
399
+ " border: none;\n",
400
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
401
+ " background-size: auto;\n",
402
+ " }\n",
403
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
404
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
405
+ " }\n",
406
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
407
+ " background: #F44336;\n",
408
+ " }\n",
409
+ "</style>\n"
410
+ ],
411
+ "text/plain": [
412
+ "<IPython.core.display.HTML object>"
413
+ ]
414
+ },
415
+ "metadata": {},
416
+ "output_type": "display_data"
417
+ },
418
+ {
419
+ "data": {
420
+ "text/html": [],
421
+ "text/plain": [
422
+ "<IPython.core.display.HTML object>"
423
+ ]
424
+ },
425
+ "metadata": {},
426
+ "output_type": "display_data"
427
+ },
428
+ {
429
+ "data": {
430
+ "text/html": [
431
+ "\n",
432
+ "<style>\n",
433
+ " /* Turns off some styling */\n",
434
+ " progress {\n",
435
+ " /* gets rid of default border in Firefox and Opera. */\n",
436
+ " border: none;\n",
437
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
438
+ " background-size: auto;\n",
439
+ " }\n",
440
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
441
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
442
+ " }\n",
443
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
444
+ " background: #F44336;\n",
445
+ " }\n",
446
+ "</style>\n"
447
+ ],
448
+ "text/plain": [
449
+ "<IPython.core.display.HTML object>"
450
+ ]
451
+ },
452
+ "metadata": {},
453
+ "output_type": "display_data"
454
+ },
455
+ {
456
+ "data": {
457
+ "text/html": [],
458
+ "text/plain": [
459
+ "<IPython.core.display.HTML object>"
460
+ ]
461
+ },
462
+ "metadata": {},
463
+ "output_type": "display_data"
464
+ },
465
+ {
466
+ "data": {
467
+ "text/html": [
468
+ "\n",
469
+ "<style>\n",
470
+ " /* Turns off some styling */\n",
471
+ " progress {\n",
472
+ " /* gets rid of default border in Firefox and Opera. */\n",
473
+ " border: none;\n",
474
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
475
+ " background-size: auto;\n",
476
+ " }\n",
477
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
478
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
479
+ " }\n",
480
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
481
+ " background: #F44336;\n",
482
+ " }\n",
483
+ "</style>\n"
484
+ ],
485
+ "text/plain": [
486
+ "<IPython.core.display.HTML object>"
487
+ ]
488
+ },
489
+ "metadata": {},
490
+ "output_type": "display_data"
491
+ },
492
+ {
493
+ "data": {
494
+ "text/html": [],
495
+ "text/plain": [
496
+ "<IPython.core.display.HTML object>"
497
+ ]
498
+ },
499
+ "metadata": {},
500
+ "output_type": "display_data"
501
+ },
502
+ {
503
+ "data": {
504
+ "text/html": [
505
+ "\n",
506
+ "<style>\n",
507
+ " /* Turns off some styling */\n",
508
+ " progress {\n",
509
+ " /* gets rid of default border in Firefox and Opera. */\n",
510
+ " border: none;\n",
511
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
512
+ " background-size: auto;\n",
513
+ " }\n",
514
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
515
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
516
+ " }\n",
517
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
518
+ " background: #F44336;\n",
519
+ " }\n",
520
+ "</style>\n"
521
+ ],
522
+ "text/plain": [
523
+ "<IPython.core.display.HTML object>"
524
+ ]
525
+ },
526
+ "metadata": {},
527
+ "output_type": "display_data"
528
+ },
529
+ {
530
+ "data": {
531
+ "text/html": [],
532
+ "text/plain": [
533
+ "<IPython.core.display.HTML object>"
534
+ ]
535
+ },
536
+ "metadata": {},
537
+ "output_type": "display_data"
538
+ }
539
+ ],
540
+ "source": [
541
+ "#/export\n",
542
+ "image = gr.inputs.Image(shape = (192, 192))\n",
543
+ "label = gr.outputs.Label()\n",
544
+ "examples = ['uw_husky.jpg', 'wsu_cougar.jpg', 'oregon_duck.jpg']\n",
545
+ "\n",
546
+ "intf = gr.Interface(fn = classify_image, inputs=image, outputs=label, examples=examples)\n",
547
+ "intf.launch(inline = False)"
548
+ ]
549
+ },
550
+ {
551
+ "cell_type": "markdown",
552
+ "metadata": {},
553
+ "source": [
554
+ "# EXPORT"
555
+ ]
556
+ },
557
+ {
558
+ "cell_type": "code",
559
+ "execution_count": 39,
560
+ "metadata": {},
561
+ "outputs": [
562
+ {
563
+ "ename": "ImportError",
564
+ "evalue": "cannot import name 'notebook2script' from 'nbdev.export' (/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/nbdev/export.py)",
565
+ "output_type": "error",
566
+ "traceback": [
567
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
568
+ "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
569
+ "Input \u001b[0;32mIn [39]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mnbdev\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mexport\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m notebook2script\n",
570
+ "\u001b[0;31mImportError\u001b[0m: cannot import name 'notebook2script' from 'nbdev.export' (/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/nbdev/export.py)"
571
+ ]
572
+ }
573
+ ],
574
+ "source": [
575
+ "from nbdev.export import notebook2script"
576
+ ]
577
+ }
578
+ ],
579
+ "metadata": {
580
+ "colab": {
581
+ "collapsed_sections": [],
582
+ "provenance": []
583
+ },
584
+ "kernelspec": {
585
+ "display_name": "Python 3 (ipykernel)",
586
+ "language": "python",
587
+ "name": "python3"
588
+ },
589
+ "language_info": {
590
+ "codemirror_mode": {
591
+ "name": "ipython",
592
+ "version": 3
593
+ },
594
+ "file_extension": ".py",
595
+ "mimetype": "text/x-python",
596
+ "name": "python",
597
+ "nbconvert_exporter": "python",
598
+ "pygments_lexer": "ipython3",
599
+ "version": "3.9.12"
600
+ },
601
+ "vscode": {
602
+ "interpreter": {
603
+ "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
604
+ }
605
+ }
606
+ },
607
+ "nbformat": 4,
608
+ "nbformat_minor": 1
609
+ }
app.ipynb ADDED
@@ -0,0 +1,595 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "metadata": {
7
+ "id": "uQ8h6MI-5-4U"
8
+ },
9
+ "outputs": [],
10
+ "source": [
11
+ "!pip install -q gradio\n",
12
+ "!pip install -Uqq fastai\n",
13
+ "!pip install -q nbdev"
14
+ ]
15
+ },
16
+ {
17
+ "cell_type": "code",
18
+ "execution_count": 2,
19
+ "metadata": {
20
+ "id": "SzVW0j2o5HUy"
21
+ },
22
+ "outputs": [],
23
+ "source": [
24
+ "#/export\n",
25
+ "from fastai.vision.all import *\n",
26
+ "import gradio as gr"
27
+ ]
28
+ },
29
+ {
30
+ "cell_type": "code",
31
+ "execution_count": 3,
32
+ "metadata": {
33
+ "colab": {
34
+ "base_uri": "https://localhost:8080/",
35
+ "height": 125
36
+ },
37
+ "id": "Mdo2Nck55RLX",
38
+ "outputId": "b45c4639-f4f0-4f9d-ff83-cc1556d6268e"
39
+ },
40
+ "outputs": [
41
+ {
42
+ "data": {
43
+ "image/png": "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\n",
44
+ "text/plain": [
45
+ "PILImage mode=RGB size=192x108"
46
+ ]
47
+ },
48
+ "execution_count": 3,
49
+ "metadata": {},
50
+ "output_type": "execute_result"
51
+ }
52
+ ],
53
+ "source": [
54
+ "im = PILImage.create('uw_husky.jpg')\n",
55
+ "im.thumbnail((192,192))\n",
56
+ "im"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type": "code",
61
+ "execution_count": 5,
62
+ "metadata": {},
63
+ "outputs": [
64
+ {
65
+ "ename": "AttributeError",
66
+ "evalue": "Custom classes or functions exported with your `Learner` not available in namespace.\\Re-declare/import before loading:\n\tCan't get attribute 'Resampling' on <module 'PIL.Image' from '/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/PIL/Image.py'>",
67
+ "output_type": "error",
68
+ "traceback": [
69
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
70
+ "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
71
+ "Input \u001b[0;32mIn [5]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m#/export\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m learn \u001b[38;5;241m=\u001b[39m \u001b[43mload_learner\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mhusky_model.pkl\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
72
+ "File \u001b[0;32m~/opt/anaconda3/lib/python3.9/site-packages/fastai/learner.py:428\u001b[0m, in \u001b[0;36mload_learner\u001b[0;34m(fname, cpu, pickle_module)\u001b[0m\n\u001b[1;32m 426\u001b[0m distrib_barrier()\n\u001b[1;32m 427\u001b[0m map_loc \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m cpu \u001b[38;5;28;01melse\u001b[39;00m default_device()\n\u001b[0;32m--> 428\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m: res \u001b[38;5;241m=\u001b[39m \u001b[43mtorch\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmap_location\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmap_loc\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_module\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mpickle_module\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 429\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mAttributeError\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m e: \n\u001b[1;32m 430\u001b[0m e\u001b[38;5;241m.\u001b[39margs \u001b[38;5;241m=\u001b[39m [\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCustom classes or functions exported with your `Learner` not available in namespace.\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mRe-declare/import before loading:\u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;130;01m\\t\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;241m.\u001b[39margs[\u001b[38;5;241m0\u001b[39m]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m]\n",
73
+ "File \u001b[0;32m~/opt/anaconda3/lib/python3.9/site-packages/torch/serialization.py:712\u001b[0m, in \u001b[0;36mload\u001b[0;34m(f, map_location, pickle_module, **pickle_load_args)\u001b[0m\n\u001b[1;32m 710\u001b[0m opened_file\u001b[38;5;241m.\u001b[39mseek(orig_position)\n\u001b[1;32m 711\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mjit\u001b[38;5;241m.\u001b[39mload(opened_file)\n\u001b[0;32m--> 712\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_load\u001b[49m\u001b[43m(\u001b[49m\u001b[43mopened_zipfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmap_location\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_module\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpickle_load_args\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 713\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _legacy_load(opened_file, map_location, pickle_module, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpickle_load_args)\n",
74
+ "File \u001b[0;32m~/opt/anaconda3/lib/python3.9/site-packages/torch/serialization.py:1049\u001b[0m, in \u001b[0;36m_load\u001b[0;34m(zip_file, map_location, pickle_module, pickle_file, **pickle_load_args)\u001b[0m\n\u001b[1;32m 1047\u001b[0m unpickler \u001b[38;5;241m=\u001b[39m UnpicklerWrapper(data_file, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpickle_load_args)\n\u001b[1;32m 1048\u001b[0m unpickler\u001b[38;5;241m.\u001b[39mpersistent_load \u001b[38;5;241m=\u001b[39m persistent_load\n\u001b[0;32m-> 1049\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43munpickler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1051\u001b[0m torch\u001b[38;5;241m.\u001b[39m_utils\u001b[38;5;241m.\u001b[39m_validate_loaded_sparse_tensors()\n\u001b[1;32m 1053\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n",
75
+ "File \u001b[0;32m~/opt/anaconda3/lib/python3.9/site-packages/torch/serialization.py:1042\u001b[0m, in \u001b[0;36m_load.<locals>.UnpicklerWrapper.find_class\u001b[0;34m(self, mod_name, name)\u001b[0m\n\u001b[1;32m 1040\u001b[0m \u001b[38;5;28;01mpass\u001b[39;00m\n\u001b[1;32m 1041\u001b[0m mod_name \u001b[38;5;241m=\u001b[39m load_module_mapping\u001b[38;5;241m.\u001b[39mget(mod_name, mod_name)\n\u001b[0;32m-> 1042\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfind_class\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmod_name\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\n",
76
+ "\u001b[0;31mAttributeError\u001b[0m: Custom classes or functions exported with your `Learner` not available in namespace.\\Re-declare/import before loading:\n\tCan't get attribute 'Resampling' on <module 'PIL.Image' from '/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/PIL/Image.py'>"
77
+ ]
78
+ }
79
+ ],
80
+ "source": [
81
+ "#/export\n",
82
+ "learn = load_learner('husky_model.pkl')"
83
+ ]
84
+ },
85
+ {
86
+ "cell_type": "code",
87
+ "execution_count": 25,
88
+ "metadata": {
89
+ "id": "1Z2DR3aKPzsp"
90
+ },
91
+ "outputs": [
92
+ {
93
+ "data": {
94
+ "text/html": [
95
+ "\n",
96
+ "<style>\n",
97
+ " /* Turns off some styling */\n",
98
+ " progress {\n",
99
+ " /* gets rid of default border in Firefox and Opera. */\n",
100
+ " border: none;\n",
101
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
102
+ " background-size: auto;\n",
103
+ " }\n",
104
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
105
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
106
+ " }\n",
107
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
108
+ " background: #F44336;\n",
109
+ " }\n",
110
+ "</style>\n"
111
+ ],
112
+ "text/plain": [
113
+ "<IPython.core.display.HTML object>"
114
+ ]
115
+ },
116
+ "metadata": {},
117
+ "output_type": "display_data"
118
+ },
119
+ {
120
+ "data": {
121
+ "text/html": [],
122
+ "text/plain": [
123
+ "<IPython.core.display.HTML object>"
124
+ ]
125
+ },
126
+ "metadata": {},
127
+ "output_type": "display_data"
128
+ },
129
+ {
130
+ "data": {
131
+ "text/plain": [
132
+ "('False', TensorBase(0), TensorBase([1.0000e+00, 1.3709e-08]))"
133
+ ]
134
+ },
135
+ "execution_count": 25,
136
+ "metadata": {},
137
+ "output_type": "execute_result"
138
+ }
139
+ ],
140
+ "source": [
141
+ "learn.predict(im)"
142
+ ]
143
+ },
144
+ {
145
+ "cell_type": "code",
146
+ "execution_count": 26,
147
+ "metadata": {},
148
+ "outputs": [],
149
+ "source": [
150
+ "#/export\n",
151
+ "categories = ('husky', 'cougar')\n",
152
+ "\n",
153
+ "#gradio requires function for classifying image\n",
154
+ "def classify_image(img):\n",
155
+ " #predict returns prediction as string, index, and probability\n",
156
+ " pred,idx,probs = learn.predict(img)\n",
157
+ " return dict(zip(categories, map(float,probs)))"
158
+ ]
159
+ },
160
+ {
161
+ "cell_type": "code",
162
+ "execution_count": 28,
163
+ "metadata": {},
164
+ "outputs": [
165
+ {
166
+ "data": {
167
+ "text/html": [
168
+ "\n",
169
+ "<style>\n",
170
+ " /* Turns off some styling */\n",
171
+ " progress {\n",
172
+ " /* gets rid of default border in Firefox and Opera. */\n",
173
+ " border: none;\n",
174
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
175
+ " background-size: auto;\n",
176
+ " }\n",
177
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
178
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
179
+ " }\n",
180
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
181
+ " background: #F44336;\n",
182
+ " }\n",
183
+ "</style>\n"
184
+ ],
185
+ "text/plain": [
186
+ "<IPython.core.display.HTML object>"
187
+ ]
188
+ },
189
+ "metadata": {},
190
+ "output_type": "display_data"
191
+ },
192
+ {
193
+ "data": {
194
+ "text/html": [],
195
+ "text/plain": [
196
+ "<IPython.core.display.HTML object>"
197
+ ]
198
+ },
199
+ "metadata": {},
200
+ "output_type": "display_data"
201
+ },
202
+ {
203
+ "data": {
204
+ "text/plain": [
205
+ "{'Dog': 1.0, 'Cat': 1.3708975288295733e-08}"
206
+ ]
207
+ },
208
+ "execution_count": 28,
209
+ "metadata": {},
210
+ "output_type": "execute_result"
211
+ }
212
+ ],
213
+ "source": [
214
+ "classify_image(im)"
215
+ ]
216
+ },
217
+ {
218
+ "cell_type": "code",
219
+ "execution_count": 29,
220
+ "metadata": {
221
+ "scrolled": true
222
+ },
223
+ "outputs": [
224
+ {
225
+ "name": "stderr",
226
+ "output_type": "stream",
227
+ "text": [
228
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/inputs.py:256: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n",
229
+ " warnings.warn(\n",
230
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
231
+ " warnings.warn(value)\n",
232
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/outputs.py:196: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
233
+ " warnings.warn(\n",
234
+ "/Users/gabe/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
235
+ " warnings.warn(value)\n"
236
+ ]
237
+ },
238
+ {
239
+ "name": "stdout",
240
+ "output_type": "stream",
241
+ "text": [
242
+ "Running on local URL: http://127.0.0.1:7861\n",
243
+ "\n",
244
+ "To create a public link, set `share=True` in `launch()`.\n"
245
+ ]
246
+ },
247
+ {
248
+ "data": {
249
+ "text/plain": [
250
+ "(<gradio.routes.App at 0x7fe092b89b20>, 'http://127.0.0.1:7861/', None)"
251
+ ]
252
+ },
253
+ "execution_count": 29,
254
+ "metadata": {},
255
+ "output_type": "execute_result"
256
+ },
257
+ {
258
+ "data": {
259
+ "text/html": [
260
+ "\n",
261
+ "<style>\n",
262
+ " /* Turns off some styling */\n",
263
+ " progress {\n",
264
+ " /* gets rid of default border in Firefox and Opera. */\n",
265
+ " border: none;\n",
266
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
267
+ " background-size: auto;\n",
268
+ " }\n",
269
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
270
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
271
+ " }\n",
272
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
273
+ " background: #F44336;\n",
274
+ " }\n",
275
+ "</style>\n"
276
+ ],
277
+ "text/plain": [
278
+ "<IPython.core.display.HTML object>"
279
+ ]
280
+ },
281
+ "metadata": {},
282
+ "output_type": "display_data"
283
+ },
284
+ {
285
+ "data": {
286
+ "text/html": [],
287
+ "text/plain": [
288
+ "<IPython.core.display.HTML object>"
289
+ ]
290
+ },
291
+ "metadata": {},
292
+ "output_type": "display_data"
293
+ },
294
+ {
295
+ "data": {
296
+ "text/html": [
297
+ "\n",
298
+ "<style>\n",
299
+ " /* Turns off some styling */\n",
300
+ " progress {\n",
301
+ " /* gets rid of default border in Firefox and Opera. */\n",
302
+ " border: none;\n",
303
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
304
+ " background-size: auto;\n",
305
+ " }\n",
306
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
307
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
308
+ " }\n",
309
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
310
+ " background: #F44336;\n",
311
+ " }\n",
312
+ "</style>\n"
313
+ ],
314
+ "text/plain": [
315
+ "<IPython.core.display.HTML object>"
316
+ ]
317
+ },
318
+ "metadata": {},
319
+ "output_type": "display_data"
320
+ },
321
+ {
322
+ "data": {
323
+ "text/html": [],
324
+ "text/plain": [
325
+ "<IPython.core.display.HTML object>"
326
+ ]
327
+ },
328
+ "metadata": {},
329
+ "output_type": "display_data"
330
+ },
331
+ {
332
+ "data": {
333
+ "text/html": [
334
+ "\n",
335
+ "<style>\n",
336
+ " /* Turns off some styling */\n",
337
+ " progress {\n",
338
+ " /* gets rid of default border in Firefox and Opera. */\n",
339
+ " border: none;\n",
340
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
341
+ " background-size: auto;\n",
342
+ " }\n",
343
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
344
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
345
+ " }\n",
346
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
347
+ " background: #F44336;\n",
348
+ " }\n",
349
+ "</style>\n"
350
+ ],
351
+ "text/plain": [
352
+ "<IPython.core.display.HTML object>"
353
+ ]
354
+ },
355
+ "metadata": {},
356
+ "output_type": "display_data"
357
+ },
358
+ {
359
+ "data": {
360
+ "text/html": [],
361
+ "text/plain": [
362
+ "<IPython.core.display.HTML object>"
363
+ ]
364
+ },
365
+ "metadata": {},
366
+ "output_type": "display_data"
367
+ },
368
+ {
369
+ "data": {
370
+ "text/html": [
371
+ "\n",
372
+ "<style>\n",
373
+ " /* Turns off some styling */\n",
374
+ " progress {\n",
375
+ " /* gets rid of default border in Firefox and Opera. */\n",
376
+ " border: none;\n",
377
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
378
+ " background-size: auto;\n",
379
+ " }\n",
380
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
381
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
382
+ " }\n",
383
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
384
+ " background: #F44336;\n",
385
+ " }\n",
386
+ "</style>\n"
387
+ ],
388
+ "text/plain": [
389
+ "<IPython.core.display.HTML object>"
390
+ ]
391
+ },
392
+ "metadata": {},
393
+ "output_type": "display_data"
394
+ },
395
+ {
396
+ "data": {
397
+ "text/html": [],
398
+ "text/plain": [
399
+ "<IPython.core.display.HTML object>"
400
+ ]
401
+ },
402
+ "metadata": {},
403
+ "output_type": "display_data"
404
+ },
405
+ {
406
+ "data": {
407
+ "text/html": [
408
+ "\n",
409
+ "<style>\n",
410
+ " /* Turns off some styling */\n",
411
+ " progress {\n",
412
+ " /* gets rid of default border in Firefox and Opera. */\n",
413
+ " border: none;\n",
414
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
415
+ " background-size: auto;\n",
416
+ " }\n",
417
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
418
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
419
+ " }\n",
420
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
421
+ " background: #F44336;\n",
422
+ " }\n",
423
+ "</style>\n"
424
+ ],
425
+ "text/plain": [
426
+ "<IPython.core.display.HTML object>"
427
+ ]
428
+ },
429
+ "metadata": {},
430
+ "output_type": "display_data"
431
+ },
432
+ {
433
+ "data": {
434
+ "text/html": [],
435
+ "text/plain": [
436
+ "<IPython.core.display.HTML object>"
437
+ ]
438
+ },
439
+ "metadata": {},
440
+ "output_type": "display_data"
441
+ },
442
+ {
443
+ "data": {
444
+ "text/html": [
445
+ "\n",
446
+ "<style>\n",
447
+ " /* Turns off some styling */\n",
448
+ " progress {\n",
449
+ " /* gets rid of default border in Firefox and Opera. */\n",
450
+ " border: none;\n",
451
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
452
+ " background-size: auto;\n",
453
+ " }\n",
454
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
455
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
456
+ " }\n",
457
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
458
+ " background: #F44336;\n",
459
+ " }\n",
460
+ "</style>\n"
461
+ ],
462
+ "text/plain": [
463
+ "<IPython.core.display.HTML object>"
464
+ ]
465
+ },
466
+ "metadata": {},
467
+ "output_type": "display_data"
468
+ },
469
+ {
470
+ "data": {
471
+ "text/html": [],
472
+ "text/plain": [
473
+ "<IPython.core.display.HTML object>"
474
+ ]
475
+ },
476
+ "metadata": {},
477
+ "output_type": "display_data"
478
+ },
479
+ {
480
+ "data": {
481
+ "text/html": [
482
+ "\n",
483
+ "<style>\n",
484
+ " /* Turns off some styling */\n",
485
+ " progress {\n",
486
+ " /* gets rid of default border in Firefox and Opera. */\n",
487
+ " border: none;\n",
488
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
489
+ " background-size: auto;\n",
490
+ " }\n",
491
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
492
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
493
+ " }\n",
494
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
495
+ " background: #F44336;\n",
496
+ " }\n",
497
+ "</style>\n"
498
+ ],
499
+ "text/plain": [
500
+ "<IPython.core.display.HTML object>"
501
+ ]
502
+ },
503
+ "metadata": {},
504
+ "output_type": "display_data"
505
+ },
506
+ {
507
+ "data": {
508
+ "text/html": [],
509
+ "text/plain": [
510
+ "<IPython.core.display.HTML object>"
511
+ ]
512
+ },
513
+ "metadata": {},
514
+ "output_type": "display_data"
515
+ },
516
+ {
517
+ "data": {
518
+ "text/html": [
519
+ "\n",
520
+ "<style>\n",
521
+ " /* Turns off some styling */\n",
522
+ " progress {\n",
523
+ " /* gets rid of default border in Firefox and Opera. */\n",
524
+ " border: none;\n",
525
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
526
+ " background-size: auto;\n",
527
+ " }\n",
528
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
529
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
530
+ " }\n",
531
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
532
+ " background: #F44336;\n",
533
+ " }\n",
534
+ "</style>\n"
535
+ ],
536
+ "text/plain": [
537
+ "<IPython.core.display.HTML object>"
538
+ ]
539
+ },
540
+ "metadata": {},
541
+ "output_type": "display_data"
542
+ },
543
+ {
544
+ "data": {
545
+ "text/html": [],
546
+ "text/plain": [
547
+ "<IPython.core.display.HTML object>"
548
+ ]
549
+ },
550
+ "metadata": {},
551
+ "output_type": "display_data"
552
+ }
553
+ ],
554
+ "source": [
555
+ "#/export\n",
556
+ "image = gr.inputs.Image(shape = (192, 192))\n",
557
+ "label = gr.outputs.Label()\n",
558
+ "examples = ['uw_husky.jpg', 'wsu_cougar.jpg', 'oregon_duck.jpg']\n",
559
+ "\n",
560
+ "intf = gr.Interface(fn = classify_image, inputs=image, outputs=label, examples=examples)\n",
561
+ "intf.launch(inline = False)"
562
+ ]
563
+ }
564
+ ],
565
+ "metadata": {
566
+ "colab": {
567
+ "collapsed_sections": [],
568
+ "provenance": []
569
+ },
570
+ "kernelspec": {
571
+ "display_name": "Python 3 (ipykernel)",
572
+ "language": "python",
573
+ "name": "python3"
574
+ },
575
+ "language_info": {
576
+ "codemirror_mode": {
577
+ "name": "ipython",
578
+ "version": 3
579
+ },
580
+ "file_extension": ".py",
581
+ "mimetype": "text/x-python",
582
+ "name": "python",
583
+ "nbconvert_exporter": "python",
584
+ "pygments_lexer": "ipython3",
585
+ "version": "3.9.12"
586
+ },
587
+ "vscode": {
588
+ "interpreter": {
589
+ "hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
590
+ }
591
+ }
592
+ },
593
+ "nbformat": 4,
594
+ "nbformat_minor": 1
595
+ }
oregon_duck.jpg ADDED
requirements.txt ADDED
@@ -0,0 +1 @@
 
1
+ fastai
uw_husky.jpg ADDED
wsu_cougar.jpg ADDED