rdjarbeng commited on
Commit
36d6868
·
1 Parent(s): ad40028
Files changed (2) hide show
  1. app.ipynb +662 -0
  2. old.txt +7 -0
app.ipynb CHANGED
@@ -0,0 +1,662 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "#|default_exp app"
10
+ ]
11
+ },
12
+ {
13
+ "cell_type": "code",
14
+ "execution_count": 10,
15
+ "metadata": {},
16
+ "outputs": [
17
+ {
18
+ "name": "stdout",
19
+ "output_type": "stream",
20
+ "text": [
21
+ "Requirement already satisfied: nbdev in c:\\users\\richard\\anaconda3\\lib\\site-packages (2.3.25)\n",
22
+ "Requirement already satisfied: PyYAML in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (6.0)\n",
23
+ "Requirement already satisfied: execnb>=0.1.4 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (0.1.6)\n",
24
+ "Requirement already satisfied: asttokens in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (2.0.5)\n",
25
+ "Requirement already satisfied: astunparse in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (1.6.3)\n",
26
+ "Requirement already satisfied: watchdog in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (2.1.6)\n",
27
+ "Requirement already satisfied: ghapi>=1.0.3 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (1.0.5)\n",
28
+ "Requirement already satisfied: packaging in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (21.3)\n",
29
+ "Requirement already satisfied: fastcore>=1.5.27 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from nbdev) (1.5.29)\n",
30
+ "Requirement already satisfied: ipython in c:\\users\\richard\\anaconda3\\lib\\site-packages (from execnb>=0.1.4->nbdev) (8.2.0)\n",
31
+ "Requirement already satisfied: pip in c:\\users\\richard\\anaconda3\\lib\\site-packages (from fastcore>=1.5.27->nbdev) (21.2.4)\n",
32
+ "Requirement already satisfied: six in c:\\users\\richard\\anaconda3\\lib\\site-packages (from asttokens->nbdev) (1.16.0)\n",
33
+ "Requirement already satisfied: wheel<1.0,>=0.23.0 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from astunparse->nbdev) (0.40.0)\n",
34
+ "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (3.0.20)\n",
35
+ "Requirement already satisfied: stack-data in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.2.0)\n",
36
+ "Requirement already satisfied: jedi>=0.16 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.18.1)\n",
37
+ "Requirement already satisfied: backcall in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.2.0)\n",
38
+ "Requirement already satisfied: pygments>=2.4.0 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (2.18.0)\n",
39
+ "Requirement already satisfied: traitlets>=5 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (5.1.1)\n",
40
+ "Requirement already satisfied: setuptools>=18.5 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (61.2.0)\n",
41
+ "Requirement already satisfied: colorama in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.4.6)\n",
42
+ "Requirement already satisfied: pickleshare in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.7.5)\n",
43
+ "Requirement already satisfied: decorator in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (5.1.1)\n",
44
+ "Requirement already satisfied: matplotlib-inline in c:\\users\\richard\\anaconda3\\lib\\site-packages (from ipython->execnb>=0.1.4->nbdev) (0.1.2)\n",
45
+ "Requirement already satisfied: parso<0.9.0,>=0.8.0 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from jedi>=0.16->ipython->execnb>=0.1.4->nbdev) (0.8.3)\n",
46
+ "Requirement already satisfied: wcwidth in c:\\users\\richard\\anaconda3\\lib\\site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->execnb>=0.1.4->nbdev) (0.2.5)\n",
47
+ "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in c:\\users\\richard\\anaconda3\\lib\\site-packages (from packaging->nbdev) (3.0.4)\n",
48
+ "Requirement already satisfied: pure-eval in c:\\users\\richard\\anaconda3\\lib\\site-packages (from stack-data->ipython->execnb>=0.1.4->nbdev) (0.2.2)\n",
49
+ "Requirement already satisfied: executing in c:\\users\\richard\\anaconda3\\lib\\site-packages (from stack-data->ipython->execnb>=0.1.4->nbdev) (0.8.3)\n"
50
+ ]
51
+ }
52
+ ],
53
+ "source": [
54
+ "!pip install nbdev"
55
+ ]
56
+ },
57
+ {
58
+ "cell_type": "code",
59
+ "execution_count": 1,
60
+ "metadata": {},
61
+ "outputs": [
62
+ {
63
+ "name": "stderr",
64
+ "output_type": "stream",
65
+ "text": [
66
+ "c:\\Users\\Richard\\anaconda3\\lib\\site-packages\\scipy\\__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.26.4\n",
67
+ " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n"
68
+ ]
69
+ }
70
+ ],
71
+ "source": [
72
+ "#|export\n",
73
+ "\n",
74
+ "from fastai.vision.all import *\n",
75
+ "import PIL\n",
76
+ "import pathlib\n",
77
+ "import gradio as gr\n",
78
+ "\n",
79
+ "\n",
80
+ "def is_cat(x): return x[0].isupper()"
81
+ ]
82
+ },
83
+ {
84
+ "cell_type": "code",
85
+ "execution_count": 4,
86
+ "metadata": {},
87
+ "outputs": [
88
+ {
89
+ "data": {
90
+ "image/jpeg": "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",
91
+ "image/png": "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",
92
+ "text/plain": [
93
+ "PILImage mode=RGB size=192x145"
94
+ ]
95
+ },
96
+ "execution_count": 4,
97
+ "metadata": {},
98
+ "output_type": "execute_result"
99
+ }
100
+ ],
101
+ "source": [
102
+ "im = PILImage.create('dog.jpg')\n",
103
+ "im.thumbnail((192,192))\n",
104
+ "im"
105
+ ]
106
+ },
107
+ {
108
+ "cell_type": "code",
109
+ "execution_count": 3,
110
+ "metadata": {},
111
+ "outputs": [
112
+ {
113
+ "data": {
114
+ "text/plain": [
115
+ "pathlib.WindowsPath"
116
+ ]
117
+ },
118
+ "execution_count": 3,
119
+ "metadata": {},
120
+ "output_type": "execute_result"
121
+ }
122
+ ],
123
+ "source": [
124
+ "#|export\n",
125
+ "# Check if you are on a Windows system\n",
126
+ "if sys.platform == 'win32': \n",
127
+ " # Set the base PosixPath to WindowsPath\n",
128
+ " pathlib.PosixPath = pathlib.WindowsPath\n",
129
+ "pathlib.PosixPath"
130
+ ]
131
+ },
132
+ {
133
+ "cell_type": "code",
134
+ "execution_count": 5,
135
+ "metadata": {},
136
+ "outputs": [],
137
+ "source": [
138
+ "#|export\n",
139
+ "learn =load_learner('cat_dog_model.pkl')"
140
+ ]
141
+ },
142
+ {
143
+ "cell_type": "code",
144
+ "execution_count": 12,
145
+ "metadata": {},
146
+ "outputs": [
147
+ {
148
+ "data": {
149
+ "text/html": [
150
+ "\n",
151
+ "<style>\n",
152
+ " /* Turns off some styling */\n",
153
+ " progress {\n",
154
+ " /* gets rid of default border in Firefox and Opera. */\n",
155
+ " border: none;\n",
156
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
157
+ " background-size: auto;\n",
158
+ " }\n",
159
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
160
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
161
+ " }\n",
162
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
163
+ " background: #F44336;\n",
164
+ " }\n",
165
+ "</style>\n"
166
+ ],
167
+ "text/plain": [
168
+ "<IPython.core.display.HTML object>"
169
+ ]
170
+ },
171
+ "metadata": {},
172
+ "output_type": "display_data"
173
+ },
174
+ {
175
+ "data": {
176
+ "text/html": [],
177
+ "text/plain": [
178
+ "<IPython.core.display.HTML object>"
179
+ ]
180
+ },
181
+ "metadata": {},
182
+ "output_type": "display_data"
183
+ },
184
+ {
185
+ "name": "stdout",
186
+ "output_type": "stream",
187
+ "text": [
188
+ "CPU times: total: 62.5 ms\n",
189
+ "Wall time: 137 ms\n"
190
+ ]
191
+ },
192
+ {
193
+ "data": {
194
+ "text/plain": [
195
+ "('True', TensorImage(1), TensorImage([2.6231e-04, 9.9974e-01]))"
196
+ ]
197
+ },
198
+ "execution_count": 12,
199
+ "metadata": {},
200
+ "output_type": "execute_result"
201
+ }
202
+ ],
203
+ "source": [
204
+ "%time learn.predict(im)"
205
+ ]
206
+ },
207
+ {
208
+ "cell_type": "code",
209
+ "execution_count": 6,
210
+ "metadata": {},
211
+ "outputs": [],
212
+ "source": [
213
+ "#|export\n",
214
+ "\n",
215
+ "categories= ('Dog', 'Cat')\n",
216
+ "\n",
217
+ "def classify_image(img):\n",
218
+ " pred,idx, probs = learn.predict(img)\n",
219
+ " return dict(zip(categories, map(float,probs)))"
220
+ ]
221
+ },
222
+ {
223
+ "cell_type": "code",
224
+ "execution_count": 7,
225
+ "metadata": {},
226
+ "outputs": [
227
+ {
228
+ "data": {
229
+ "text/html": [
230
+ "\n",
231
+ "<style>\n",
232
+ " /* Turns off some styling */\n",
233
+ " progress {\n",
234
+ " /* gets rid of default border in Firefox and Opera. */\n",
235
+ " border: none;\n",
236
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
237
+ " background-size: auto;\n",
238
+ " }\n",
239
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
240
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
241
+ " }\n",
242
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
243
+ " background: #F44336;\n",
244
+ " }\n",
245
+ "</style>\n"
246
+ ],
247
+ "text/plain": [
248
+ "<IPython.core.display.HTML object>"
249
+ ]
250
+ },
251
+ "metadata": {},
252
+ "output_type": "display_data"
253
+ },
254
+ {
255
+ "data": {
256
+ "text/html": [
257
+ "\n",
258
+ " <div>\n",
259
+ " <progress value='0' class='' max='1' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
260
+ " 0.00% [0/1 00:00&lt;?]\n",
261
+ " </div>\n",
262
+ " "
263
+ ],
264
+ "text/plain": [
265
+ "<IPython.core.display.HTML object>"
266
+ ]
267
+ },
268
+ "metadata": {},
269
+ "output_type": "display_data"
270
+ },
271
+ {
272
+ "data": {
273
+ "text/plain": [
274
+ "{'Dog': 0.999991774559021, 'Cat': 8.198042451112997e-06}"
275
+ ]
276
+ },
277
+ "execution_count": 7,
278
+ "metadata": {},
279
+ "output_type": "execute_result"
280
+ }
281
+ ],
282
+ "source": [
283
+ "classify_image(im)"
284
+ ]
285
+ },
286
+ {
287
+ "cell_type": "code",
288
+ "execution_count": null,
289
+ "metadata": {},
290
+ "outputs": [
291
+ {
292
+ "name": "stdout",
293
+ "output_type": "stream",
294
+ "text": [
295
+ "Running on local URL: http://127.0.0.1:7860\n",
296
+ "\n",
297
+ "To create a public link, set `share=True` in `launch()`.\n"
298
+ ]
299
+ },
300
+ {
301
+ "data": {
302
+ "text/plain": []
303
+ },
304
+ "execution_count": 8,
305
+ "metadata": {},
306
+ "output_type": "execute_result"
307
+ },
308
+ {
309
+ "data": {
310
+ "text/html": [
311
+ "\n",
312
+ "<style>\n",
313
+ " /* Turns off some styling */\n",
314
+ " progress {\n",
315
+ " /* gets rid of default border in Firefox and Opera. */\n",
316
+ " border: none;\n",
317
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
318
+ " background-size: auto;\n",
319
+ " }\n",
320
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
321
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
322
+ " }\n",
323
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
324
+ " background: #F44336;\n",
325
+ " }\n",
326
+ "</style>\n"
327
+ ],
328
+ "text/plain": [
329
+ "<IPython.core.display.HTML object>"
330
+ ]
331
+ },
332
+ "metadata": {},
333
+ "output_type": "display_data"
334
+ },
335
+ {
336
+ "data": {
337
+ "text/html": [],
338
+ "text/plain": [
339
+ "<IPython.core.display.HTML object>"
340
+ ]
341
+ },
342
+ "metadata": {},
343
+ "output_type": "display_data"
344
+ },
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
+ "data": {
384
+ "text/html": [
385
+ "\n",
386
+ "<style>\n",
387
+ " /* Turns off some styling */\n",
388
+ " progress {\n",
389
+ " /* gets rid of default border in Firefox and Opera. */\n",
390
+ " border: none;\n",
391
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
392
+ " background-size: auto;\n",
393
+ " }\n",
394
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
395
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
396
+ " }\n",
397
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
398
+ " background: #F44336;\n",
399
+ " }\n",
400
+ "</style>\n"
401
+ ],
402
+ "text/plain": [
403
+ "<IPython.core.display.HTML object>"
404
+ ]
405
+ },
406
+ "metadata": {},
407
+ "output_type": "display_data"
408
+ },
409
+ {
410
+ "data": {
411
+ "text/html": [],
412
+ "text/plain": [
413
+ "<IPython.core.display.HTML object>"
414
+ ]
415
+ },
416
+ "metadata": {},
417
+ "output_type": "display_data"
418
+ },
419
+ {
420
+ "data": {
421
+ "text/html": [
422
+ "\n",
423
+ "<style>\n",
424
+ " /* Turns off some styling */\n",
425
+ " progress {\n",
426
+ " /* gets rid of default border in Firefox and Opera. */\n",
427
+ " border: none;\n",
428
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
429
+ " background-size: auto;\n",
430
+ " }\n",
431
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
432
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
433
+ " }\n",
434
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
435
+ " background: #F44336;\n",
436
+ " }\n",
437
+ "</style>\n"
438
+ ],
439
+ "text/plain": [
440
+ "<IPython.core.display.HTML object>"
441
+ ]
442
+ },
443
+ "metadata": {},
444
+ "output_type": "display_data"
445
+ },
446
+ {
447
+ "data": {
448
+ "text/html": [],
449
+ "text/plain": [
450
+ "<IPython.core.display.HTML object>"
451
+ ]
452
+ },
453
+ "metadata": {},
454
+ "output_type": "display_data"
455
+ },
456
+ {
457
+ "data": {
458
+ "text/html": [
459
+ "\n",
460
+ "<style>\n",
461
+ " /* Turns off some styling */\n",
462
+ " progress {\n",
463
+ " /* gets rid of default border in Firefox and Opera. */\n",
464
+ " border: none;\n",
465
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
466
+ " background-size: auto;\n",
467
+ " }\n",
468
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
469
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
470
+ " }\n",
471
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
472
+ " background: #F44336;\n",
473
+ " }\n",
474
+ "</style>\n"
475
+ ],
476
+ "text/plain": [
477
+ "<IPython.core.display.HTML object>"
478
+ ]
479
+ },
480
+ "metadata": {},
481
+ "output_type": "display_data"
482
+ },
483
+ {
484
+ "data": {
485
+ "text/html": [],
486
+ "text/plain": [
487
+ "<IPython.core.display.HTML object>"
488
+ ]
489
+ },
490
+ "metadata": {},
491
+ "output_type": "display_data"
492
+ },
493
+ {
494
+ "data": {
495
+ "text/html": [
496
+ "\n",
497
+ "<style>\n",
498
+ " /* Turns off some styling */\n",
499
+ " progress {\n",
500
+ " /* gets rid of default border in Firefox and Opera. */\n",
501
+ " border: none;\n",
502
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
503
+ " background-size: auto;\n",
504
+ " }\n",
505
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
506
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
507
+ " }\n",
508
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
509
+ " background: #F44336;\n",
510
+ " }\n",
511
+ "</style>\n"
512
+ ],
513
+ "text/plain": [
514
+ "<IPython.core.display.HTML object>"
515
+ ]
516
+ },
517
+ "metadata": {},
518
+ "output_type": "display_data"
519
+ },
520
+ {
521
+ "data": {
522
+ "text/html": [],
523
+ "text/plain": [
524
+ "<IPython.core.display.HTML object>"
525
+ ]
526
+ },
527
+ "metadata": {},
528
+ "output_type": "display_data"
529
+ }
530
+ ],
531
+ "source": [
532
+ "#|export\n",
533
+ "\n",
534
+ "image = gr.Image(height=192,width=192)\n",
535
+ "label = gr.Label() \n",
536
+ "examples =['dog.jpg', 'cats.jpeg', 'dogs.png']\n",
537
+ "\n",
538
+ "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
539
+ "intf.launch(inline=False)"
540
+ ]
541
+ },
542
+ {
543
+ "cell_type": "code",
544
+ "execution_count": 21,
545
+ "metadata": {},
546
+ "outputs": [
547
+ {
548
+ "name": "stdout",
549
+ "output_type": "stream",
550
+ "text": [
551
+ "Closing server running on port: 7860\n"
552
+ ]
553
+ }
554
+ ],
555
+ "source": [
556
+ "# Close the Gradio interface\n",
557
+ "intf.close()"
558
+ ]
559
+ },
560
+ {
561
+ "cell_type": "markdown",
562
+ "metadata": {},
563
+ "source": [
564
+ "# export"
565
+ ]
566
+ },
567
+ {
568
+ "cell_type": "code",
569
+ "execution_count": 17,
570
+ "metadata": {},
571
+ "outputs": [
572
+ {
573
+ "name": "stdout",
574
+ "output_type": "stream",
575
+ "text": [
576
+ "\u001b[1;31mSignature:\u001b[0m\n",
577
+ "\u001b[0mnbdev\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mexport\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnb_export\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m\n",
578
+ "\u001b[0m \u001b[0mnbname\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
579
+ "\u001b[0m \u001b[0mlib_path\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
580
+ "\u001b[0m \u001b[0mprocs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
581
+ "\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
582
+ "\u001b[0m \u001b[0mmod_maker\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m<\u001b[0m\u001b[1;32mclass\u001b[0m \u001b[1;34m'nbdev.maker.ModuleMaker'\u001b[0m\u001b[1;33m>\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
583
+ "\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\n",
584
+ "\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
585
+ "\u001b[1;31mSource:\u001b[0m \n",
586
+ "\u001b[1;32mdef\u001b[0m \u001b[0mnb_export\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnbname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlib_path\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprocs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mFalse\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmod_maker\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mModuleMaker\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
587
+ "\u001b[0m \u001b[1;34m\"Create module(s) from notebook\"\u001b[0m\u001b[1;33m\n",
588
+ "\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mlib_path\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mlib_path\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mget_config\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlib_path\u001b[0m\u001b[1;33m\n",
589
+ "\u001b[0m \u001b[0mexp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mExportModuleProc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
590
+ "\u001b[0m \u001b[0mnb\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mNBProcessor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnbname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mexp\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m+\u001b[0m\u001b[0mL\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mprocs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdebug\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdebug\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
591
+ "\u001b[0m \u001b[0mnb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mprocess\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
592
+ "\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mcells\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mexp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodules\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
593
+ "\u001b[0m \u001b[0mall_cells\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mexp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0min_all\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mmod\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\n",
594
+ "\u001b[0m \u001b[0mnm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mifnone\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mexp\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'default_exp'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m==\u001b[0m\u001b[1;34m'#'\u001b[0m \u001b[1;32melse\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
595
+ "\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mnm\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\n",
596
+ "\u001b[0m \u001b[0mwarn\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mf\"Notebook '{nbname}' uses `#|export` without `#|default_exp` cell.\\n\"\u001b[0m\u001b[1;33m\n",
597
+ "\u001b[0m \u001b[1;34m\"Note nbdev2 no longer supports nbdev1 syntax. Run `nbdev_migrate` to upgrade.\\n\"\u001b[0m\u001b[1;33m\n",
598
+ "\u001b[0m \u001b[1;34m\"See https://nbdev.fast.ai/getting_started.html for more information.\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
599
+ "\u001b[0m \u001b[1;32mreturn\u001b[0m\u001b[1;33m\n",
600
+ "\u001b[0m \u001b[0mmm\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmod_maker\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdest\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlib_path\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnm\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mnb_path\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mnbname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mis_new\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mbool\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mmod\u001b[0m\u001b[1;33m==\u001b[0m\u001b[1;34m'#'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\n",
601
+ "\u001b[0m \u001b[0mmm\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmake\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mcells\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mall_cells\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlib_path\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mlib_path\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
602
+ "\u001b[1;31mFile:\u001b[0m c:\\users\\richard\\anaconda3\\lib\\site-packages\\nbdev\\export.py\n",
603
+ "\u001b[1;31mType:\u001b[0m function\n"
604
+ ]
605
+ }
606
+ ],
607
+ "source": [
608
+ "nbdev.export.nb_export??"
609
+ ]
610
+ },
611
+ {
612
+ "cell_type": "code",
613
+ "execution_count": 22,
614
+ "metadata": {},
615
+ "outputs": [
616
+ {
617
+ "name": "stdout",
618
+ "output_type": "stream",
619
+ "text": [
620
+ "Export successful\n"
621
+ ]
622
+ }
623
+ ],
624
+ "source": [
625
+ "import nbdev\n",
626
+ "nbdev.export.nb_export('app.ipynb', '')\n",
627
+ "print('Export successful')"
628
+ ]
629
+ },
630
+ {
631
+ "cell_type": "code",
632
+ "execution_count": null,
633
+ "metadata": {},
634
+ "outputs": [],
635
+ "source": [
636
+ "# notebook2script('app.ipynb')"
637
+ ]
638
+ }
639
+ ],
640
+ "metadata": {
641
+ "kernelspec": {
642
+ "display_name": "idl",
643
+ "language": "python",
644
+ "name": "python3"
645
+ },
646
+ "language_info": {
647
+ "codemirror_mode": {
648
+ "name": "ipython",
649
+ "version": 3
650
+ },
651
+ "file_extension": ".py",
652
+ "mimetype": "text/x-python",
653
+ "name": "python",
654
+ "nbconvert_exporter": "python",
655
+ "pygments_lexer": "ipython3",
656
+ "version": "3.9.12"
657
+ },
658
+ "orig_nbformat": 4
659
+ },
660
+ "nbformat": 4,
661
+ "nbformat_minor": 2
662
+ }
old.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+
3
+ def greet(name):
4
+ return "Hello " + name + "!!"
5
+
6
+ demo = gr.Interface(fn=greet, inputs="text", outputs="text")
7
+ demo.launch()