etiennefd commited on
Commit
29fffb9
1 Parent(s): 791e331

add classifier code

Browse files
Files changed (6) hide show
  1. .ipynb_checkpoints/app-checkpoint.ipynb +6 -0
  2. app.ipynb +572 -0
  3. cat.jpg +0 -0
  4. dog.jpg +0 -0
  5. dunno.jpg +0 -0
  6. model.pkl +3 -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,572 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 12,
6
+ "id": "b0e37c23-0a00-4a15-adc0-a4d0adc92284",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "#| export\n",
11
+ "\n",
12
+ "from fastai.vision.all import *\n",
13
+ "import gradio as gr\n",
14
+ "\n",
15
+ "def is_cat(x): return x[0].isupper() # need this redefinition because the learner uses this function"
16
+ ]
17
+ },
18
+ {
19
+ "cell_type": "code",
20
+ "execution_count": 17,
21
+ "id": "d3db8ca2-2d2f-4103-b61a-d77ac8736cd7",
22
+ "metadata": {},
23
+ "outputs": [
24
+ {
25
+ "data": {
26
+ "image/png": "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\n",
27
+ "text/plain": [
28
+ "PILImage mode=RGB size=192x108"
29
+ ]
30
+ },
31
+ "execution_count": 17,
32
+ "metadata": {},
33
+ "output_type": "execute_result"
34
+ }
35
+ ],
36
+ "source": [
37
+ "dog_image = PILImage.create('dog.jpg')\n",
38
+ "dog_image.thumbnail((192,192))\n",
39
+ "dog_image"
40
+ ]
41
+ },
42
+ {
43
+ "cell_type": "code",
44
+ "execution_count": 18,
45
+ "id": "645eccfa-a94b-452a-ba5c-1e74ca55bc03",
46
+ "metadata": {},
47
+ "outputs": [],
48
+ "source": [
49
+ "#| export\n",
50
+ "learn = load_learner('model.pkl')"
51
+ ]
52
+ },
53
+ {
54
+ "cell_type": "code",
55
+ "execution_count": 19,
56
+ "id": "080c9589-aa3f-4e8e-9bac-3a2f4bf81d4b",
57
+ "metadata": {},
58
+ "outputs": [
59
+ {
60
+ "data": {
61
+ "text/html": [
62
+ "\n",
63
+ "<style>\n",
64
+ " /* Turns off some styling */\n",
65
+ " progress {\n",
66
+ " /* gets rid of default border in Firefox and Opera. */\n",
67
+ " border: none;\n",
68
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
69
+ " background-size: auto;\n",
70
+ " }\n",
71
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
72
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
73
+ " }\n",
74
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
75
+ " background: #F44336;\n",
76
+ " }\n",
77
+ "</style>\n"
78
+ ],
79
+ "text/plain": [
80
+ "<IPython.core.display.HTML object>"
81
+ ]
82
+ },
83
+ "metadata": {},
84
+ "output_type": "display_data"
85
+ },
86
+ {
87
+ "data": {
88
+ "text/html": [],
89
+ "text/plain": [
90
+ "<IPython.core.display.HTML object>"
91
+ ]
92
+ },
93
+ "metadata": {},
94
+ "output_type": "display_data"
95
+ },
96
+ {
97
+ "data": {
98
+ "text/plain": [
99
+ "('False', TensorBase(0), TensorBase([1.0000e+00, 3.0780e-06]))"
100
+ ]
101
+ },
102
+ "execution_count": 19,
103
+ "metadata": {},
104
+ "output_type": "execute_result"
105
+ }
106
+ ],
107
+ "source": [
108
+ "learn.predict(dog_image)"
109
+ ]
110
+ },
111
+ {
112
+ "cell_type": "code",
113
+ "execution_count": 25,
114
+ "id": "d3769a5e-acf7-4190-93b7-da68dab09381",
115
+ "metadata": {},
116
+ "outputs": [],
117
+ "source": [
118
+ "#| export\n",
119
+ "categories = ('Dog', 'Cat')\n",
120
+ "\n",
121
+ "# turn the output into a dict with categories and probabilities\n",
122
+ "def classify_image(img): \n",
123
+ " pred, index, probs = learn.predict(img)\n",
124
+ " return dict(zip(categories, map(float, probs)))"
125
+ ]
126
+ },
127
+ {
128
+ "cell_type": "code",
129
+ "execution_count": 26,
130
+ "id": "fa0f9525-f4a7-4ee6-a49c-63e10cbc93ba",
131
+ "metadata": {},
132
+ "outputs": [
133
+ {
134
+ "data": {
135
+ "text/html": [
136
+ "\n",
137
+ "<style>\n",
138
+ " /* Turns off some styling */\n",
139
+ " progress {\n",
140
+ " /* gets rid of default border in Firefox and Opera. */\n",
141
+ " border: none;\n",
142
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
143
+ " background-size: auto;\n",
144
+ " }\n",
145
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
146
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
147
+ " }\n",
148
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
149
+ " background: #F44336;\n",
150
+ " }\n",
151
+ "</style>\n"
152
+ ],
153
+ "text/plain": [
154
+ "<IPython.core.display.HTML object>"
155
+ ]
156
+ },
157
+ "metadata": {},
158
+ "output_type": "display_data"
159
+ },
160
+ {
161
+ "data": {
162
+ "text/html": [],
163
+ "text/plain": [
164
+ "<IPython.core.display.HTML object>"
165
+ ]
166
+ },
167
+ "metadata": {},
168
+ "output_type": "display_data"
169
+ },
170
+ {
171
+ "data": {
172
+ "text/plain": [
173
+ "{'Dog': 0.9999969005584717, 'Cat': 3.0779897315369453e-06}"
174
+ ]
175
+ },
176
+ "execution_count": 26,
177
+ "metadata": {},
178
+ "output_type": "execute_result"
179
+ }
180
+ ],
181
+ "source": [
182
+ "classify_image(dog_image)"
183
+ ]
184
+ },
185
+ {
186
+ "cell_type": "code",
187
+ "execution_count": 27,
188
+ "id": "2dc43cb2-11a7-421b-a4e8-c1bd29e18ad4",
189
+ "metadata": {},
190
+ "outputs": [
191
+ {
192
+ "name": "stderr",
193
+ "output_type": "stream",
194
+ "text": [
195
+ "/Users/etienne/mambaforge/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",
196
+ " warnings.warn(\n",
197
+ "/Users/etienne/mambaforge/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
198
+ " warnings.warn(value)\n",
199
+ "/Users/etienne/mambaforge/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",
200
+ " warnings.warn(\n",
201
+ "/Users/etienne/mambaforge/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
202
+ " warnings.warn(value)\n"
203
+ ]
204
+ },
205
+ {
206
+ "name": "stdout",
207
+ "output_type": "stream",
208
+ "text": [
209
+ "Running on local URL: http://127.0.0.1:7861/\n",
210
+ "\n",
211
+ "To create a public link, set `share=True` in `launch()`.\n"
212
+ ]
213
+ },
214
+ {
215
+ "data": {
216
+ "text/plain": [
217
+ "(<gradio.routes.App at 0x148835cd0>, 'http://127.0.0.1:7861/', None)"
218
+ ]
219
+ },
220
+ "execution_count": 27,
221
+ "metadata": {},
222
+ "output_type": "execute_result"
223
+ },
224
+ {
225
+ "data": {
226
+ "text/html": [
227
+ "\n",
228
+ "<style>\n",
229
+ " /* Turns off some styling */\n",
230
+ " progress {\n",
231
+ " /* gets rid of default border in Firefox and Opera. */\n",
232
+ " border: none;\n",
233
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
234
+ " background-size: auto;\n",
235
+ " }\n",
236
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
237
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
238
+ " }\n",
239
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
240
+ " background: #F44336;\n",
241
+ " }\n",
242
+ "</style>\n"
243
+ ],
244
+ "text/plain": [
245
+ "<IPython.core.display.HTML object>"
246
+ ]
247
+ },
248
+ "metadata": {},
249
+ "output_type": "display_data"
250
+ },
251
+ {
252
+ "data": {
253
+ "text/html": [],
254
+ "text/plain": [
255
+ "<IPython.core.display.HTML object>"
256
+ ]
257
+ },
258
+ "metadata": {},
259
+ "output_type": "display_data"
260
+ },
261
+ {
262
+ "data": {
263
+ "text/html": [
264
+ "\n",
265
+ "<style>\n",
266
+ " /* Turns off some styling */\n",
267
+ " progress {\n",
268
+ " /* gets rid of default border in Firefox and Opera. */\n",
269
+ " border: none;\n",
270
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
271
+ " background-size: auto;\n",
272
+ " }\n",
273
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
274
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
275
+ " }\n",
276
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
277
+ " background: #F44336;\n",
278
+ " }\n",
279
+ "</style>\n"
280
+ ],
281
+ "text/plain": [
282
+ "<IPython.core.display.HTML object>"
283
+ ]
284
+ },
285
+ "metadata": {},
286
+ "output_type": "display_data"
287
+ },
288
+ {
289
+ "data": {
290
+ "text/html": [],
291
+ "text/plain": [
292
+ "<IPython.core.display.HTML object>"
293
+ ]
294
+ },
295
+ "metadata": {},
296
+ "output_type": "display_data"
297
+ },
298
+ {
299
+ "data": {
300
+ "text/html": [
301
+ "\n",
302
+ "<style>\n",
303
+ " /* Turns off some styling */\n",
304
+ " progress {\n",
305
+ " /* gets rid of default border in Firefox and Opera. */\n",
306
+ " border: none;\n",
307
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
308
+ " background-size: auto;\n",
309
+ " }\n",
310
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
311
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
312
+ " }\n",
313
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
314
+ " background: #F44336;\n",
315
+ " }\n",
316
+ "</style>\n"
317
+ ],
318
+ "text/plain": [
319
+ "<IPython.core.display.HTML object>"
320
+ ]
321
+ },
322
+ "metadata": {},
323
+ "output_type": "display_data"
324
+ },
325
+ {
326
+ "data": {
327
+ "text/html": [],
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
+ "\n",
339
+ "<style>\n",
340
+ " /* Turns off some styling */\n",
341
+ " progress {\n",
342
+ " /* gets rid of default border in Firefox and Opera. */\n",
343
+ " border: none;\n",
344
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
345
+ " background-size: auto;\n",
346
+ " }\n",
347
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
348
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
349
+ " }\n",
350
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
351
+ " background: #F44336;\n",
352
+ " }\n",
353
+ "</style>\n"
354
+ ],
355
+ "text/plain": [
356
+ "<IPython.core.display.HTML object>"
357
+ ]
358
+ },
359
+ "metadata": {},
360
+ "output_type": "display_data"
361
+ },
362
+ {
363
+ "data": {
364
+ "text/html": [],
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
+ "\n",
376
+ "<style>\n",
377
+ " /* Turns off some styling */\n",
378
+ " progress {\n",
379
+ " /* gets rid of default border in Firefox and Opera. */\n",
380
+ " border: none;\n",
381
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
382
+ " background-size: auto;\n",
383
+ " }\n",
384
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
385
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
386
+ " }\n",
387
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
388
+ " background: #F44336;\n",
389
+ " }\n",
390
+ "</style>\n"
391
+ ],
392
+ "text/plain": [
393
+ "<IPython.core.display.HTML object>"
394
+ ]
395
+ },
396
+ "metadata": {},
397
+ "output_type": "display_data"
398
+ },
399
+ {
400
+ "data": {
401
+ "text/html": [],
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
+ "\n",
413
+ "<style>\n",
414
+ " /* Turns off some styling */\n",
415
+ " progress {\n",
416
+ " /* gets rid of default border in Firefox and Opera. */\n",
417
+ " border: none;\n",
418
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
419
+ " background-size: auto;\n",
420
+ " }\n",
421
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
422
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
423
+ " }\n",
424
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
425
+ " background: #F44336;\n",
426
+ " }\n",
427
+ "</style>\n"
428
+ ],
429
+ "text/plain": [
430
+ "<IPython.core.display.HTML object>"
431
+ ]
432
+ },
433
+ "metadata": {},
434
+ "output_type": "display_data"
435
+ },
436
+ {
437
+ "data": {
438
+ "text/html": [],
439
+ "text/plain": [
440
+ "<IPython.core.display.HTML object>"
441
+ ]
442
+ },
443
+ "metadata": {},
444
+ "output_type": "display_data"
445
+ }
446
+ ],
447
+ "source": [
448
+ "#| export\n",
449
+ "\n",
450
+ "# gradio interface\n",
451
+ "image = gr.inputs.Image(shape=(192, 192))\n",
452
+ "label = gr.outputs.Label()\n",
453
+ "examples = ['dog.jpg', 'cat.jpg', 'dunno.jpg']\n",
454
+ "\n",
455
+ "interface = gr.Interface(fn = classify_image, inputs = image, outputs = label, examples = examples)\n",
456
+ "interface.launch(inline = False)"
457
+ ]
458
+ },
459
+ {
460
+ "cell_type": "code",
461
+ "execution_count": 62,
462
+ "id": "b3e8708e-0003-4abd-9872-3d97d3aa57f8",
463
+ "metadata": {},
464
+ "outputs": [
465
+ {
466
+ "name": "stdout",
467
+ "output_type": "stream",
468
+ "text": [
469
+ "Help on module nbdev.export in nbdev:\n",
470
+ "\n",
471
+ "NAME\n",
472
+ " nbdev.export - # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/04a_export.ipynb.\n",
473
+ "\n",
474
+ "CLASSES\n",
475
+ " builtins.object\n",
476
+ " ExportModuleProc\n",
477
+ " \n",
478
+ " class ExportModuleProc(builtins.object)\n",
479
+ " | A processor which exports code to a module\n",
480
+ " | \n",
481
+ " | Methods defined here:\n",
482
+ " | \n",
483
+ " | __init__(self)\n",
484
+ " | Initialize self. See help(type(self)) for accurate signature.\n",
485
+ " | \n",
486
+ " | ----------------------------------------------------------------------\n",
487
+ " | Data descriptors defined here:\n",
488
+ " | \n",
489
+ " | __dict__\n",
490
+ " | dictionary for instance variables (if defined)\n",
491
+ " | \n",
492
+ " | __weakref__\n",
493
+ " | list of weak references to the object (if defined)\n",
494
+ "\n",
495
+ "FUNCTIONS\n",
496
+ " black_format(cell, force=False)\n",
497
+ " Format code with `black`\n",
498
+ " \n",
499
+ " create_modules(path, dest, procs=None, debug=False, mod_maker=<class 'nbdev.maker.ModuleMaker'>)\n",
500
+ " Create module(s) from notebook\n",
501
+ " \n",
502
+ " nb_export(nbname, lib_path=None)\n",
503
+ " # %% ../nbs/04a_export.ipynb 16\n",
504
+ "\n",
505
+ "DATA\n",
506
+ " __all__ = ['ExportModuleProc', 'black_format', 'create_modules', 'nb_e...\n",
507
+ "\n",
508
+ "FILE\n",
509
+ " /Users/etienne/mambaforge/lib/python3.9/site-packages/nbdev/export.py\n",
510
+ "\n",
511
+ "\n"
512
+ ]
513
+ }
514
+ ],
515
+ "source": [
516
+ "help(nbdev.export)"
517
+ ]
518
+ },
519
+ {
520
+ "cell_type": "code",
521
+ "execution_count": 60,
522
+ "id": "06c2e628-b04a-4178-9a97-a57b64c00808",
523
+ "metadata": {},
524
+ "outputs": [
525
+ {
526
+ "ename": "ImportError",
527
+ "evalue": "cannot import name 'notebook2script' from 'nbdev.imports' (/Users/etienne/mambaforge/lib/python3.9/site-packages/nbdev/imports.py)",
528
+ "output_type": "error",
529
+ "traceback": [
530
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
531
+ "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
532
+ "Input \u001b[0;32mIn [60]\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;01mimports\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m notebook2script\n\u001b[1;32m 2\u001b[0m notebook2script()\n",
533
+ "\u001b[0;31mImportError\u001b[0m: cannot import name 'notebook2script' from 'nbdev.imports' (/Users/etienne/mambaforge/lib/python3.9/site-packages/nbdev/imports.py)"
534
+ ]
535
+ }
536
+ ],
537
+ "source": [
538
+ "from nbdev.imports import notebook2script\n",
539
+ "notebook2script()"
540
+ ]
541
+ },
542
+ {
543
+ "cell_type": "code",
544
+ "execution_count": null,
545
+ "id": "ccee0117-bd4a-40bb-8f42-4d211c2eb406",
546
+ "metadata": {},
547
+ "outputs": [],
548
+ "source": []
549
+ }
550
+ ],
551
+ "metadata": {
552
+ "kernelspec": {
553
+ "display_name": "Python 3 (ipykernel)",
554
+ "language": "python",
555
+ "name": "python3"
556
+ },
557
+ "language_info": {
558
+ "codemirror_mode": {
559
+ "name": "ipython",
560
+ "version": 3
561
+ },
562
+ "file_extension": ".py",
563
+ "mimetype": "text/x-python",
564
+ "name": "python",
565
+ "nbconvert_exporter": "python",
566
+ "pygments_lexer": "ipython3",
567
+ "version": "3.9.13"
568
+ }
569
+ },
570
+ "nbformat": 4,
571
+ "nbformat_minor": 5
572
+ }
cat.jpg ADDED
dog.jpg ADDED
dunno.jpg ADDED
model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3d62d20922e28155dc062920903cc96b96b54682058a2f9851511b69b4aa7474
3
+ size 47061355