Kenny Rachuonyo commited on
Commit
d79eaf5
1 Parent(s): d282f2b

dog or cat classifier

Browse files
Files changed (6) hide show
  1. .gitignore +1 -0
  2. app.ipynb +410 -0
  3. app.py +25 -4
  4. cat.jpg +0 -0
  5. dog.jpg +0 -0
  6. unknown.jpg +0 -0
.gitignore ADDED
@@ -0,0 +1 @@
 
1
+ .ipynb_checkpoints
app.ipynb ADDED
@@ -0,0 +1,410 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "id": "4373db01",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "#|default_exp app"
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "code",
15
+ "execution_count": 19,
16
+ "id": "3922bdaa",
17
+ "metadata": {},
18
+ "outputs": [],
19
+ "source": [
20
+ "#|export\n",
21
+ "from fastai.vision.all import *\n",
22
+ "import gradio as gr\n",
23
+ "\n",
24
+ "is_cat = lambda x: x[0].isupper()"
25
+ ]
26
+ },
27
+ {
28
+ "cell_type": "code",
29
+ "execution_count": 9,
30
+ "id": "309904c1",
31
+ "metadata": {},
32
+ "outputs": [
33
+ {
34
+ "data": {
35
+ "image/png": "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\n",
36
+ "text/plain": [
37
+ "PILImage mode=RGB size=192x110"
38
+ ]
39
+ },
40
+ "execution_count": 9,
41
+ "metadata": {},
42
+ "output_type": "execute_result"
43
+ }
44
+ ],
45
+ "source": [
46
+ "im = PILImage.create(\"dog.jpg\")\n",
47
+ "im.thumbnail((192, 192))\n",
48
+ "im\n"
49
+ ]
50
+ },
51
+ {
52
+ "cell_type": "code",
53
+ "execution_count": 10,
54
+ "id": "a6c7d4f4",
55
+ "metadata": {},
56
+ "outputs": [],
57
+ "source": [
58
+ "#|export\n",
59
+ "learner = load_learner(\"model.pkl\")"
60
+ ]
61
+ },
62
+ {
63
+ "cell_type": "code",
64
+ "execution_count": 12,
65
+ "id": "d53a6f8d",
66
+ "metadata": {},
67
+ "outputs": [
68
+ {
69
+ "data": {
70
+ "text/html": [
71
+ "\n",
72
+ "<style>\n",
73
+ " /* Turns off some styling */\n",
74
+ " progress {\n",
75
+ " /* gets rid of default border in Firefox and Opera. */\n",
76
+ " border: none;\n",
77
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
78
+ " background-size: auto;\n",
79
+ " }\n",
80
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
81
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
82
+ " }\n",
83
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
84
+ " background: #F44336;\n",
85
+ " }\n",
86
+ "</style>\n"
87
+ ],
88
+ "text/plain": [
89
+ "<IPython.core.display.HTML object>"
90
+ ]
91
+ },
92
+ "metadata": {},
93
+ "output_type": "display_data"
94
+ },
95
+ {
96
+ "data": {
97
+ "text/html": [],
98
+ "text/plain": [
99
+ "<IPython.core.display.HTML object>"
100
+ ]
101
+ },
102
+ "metadata": {},
103
+ "output_type": "display_data"
104
+ },
105
+ {
106
+ "data": {
107
+ "text/plain": [
108
+ "('False', TensorBase(0), TensorBase([1.0000e+00, 1.0027e-06]))"
109
+ ]
110
+ },
111
+ "execution_count": 12,
112
+ "metadata": {},
113
+ "output_type": "execute_result"
114
+ }
115
+ ],
116
+ "source": [
117
+ "learner.predict(im)"
118
+ ]
119
+ },
120
+ {
121
+ "cell_type": "code",
122
+ "execution_count": 16,
123
+ "id": "de2ac575",
124
+ "metadata": {},
125
+ "outputs": [],
126
+ "source": [
127
+ "#|export\n",
128
+ "categories = (\"Dog\", \"Cat\")\n",
129
+ "\n",
130
+ "def classify_image(img):\n",
131
+ " prediction, index, probs = learner.predict(img)\n",
132
+ " return dict(zip(categories, map(float, probs)))"
133
+ ]
134
+ },
135
+ {
136
+ "cell_type": "code",
137
+ "execution_count": 17,
138
+ "id": "b6863309",
139
+ "metadata": {},
140
+ "outputs": [
141
+ {
142
+ "data": {
143
+ "text/html": [
144
+ "\n",
145
+ "<style>\n",
146
+ " /* Turns off some styling */\n",
147
+ " progress {\n",
148
+ " /* gets rid of default border in Firefox and Opera. */\n",
149
+ " border: none;\n",
150
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
151
+ " background-size: auto;\n",
152
+ " }\n",
153
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
154
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
155
+ " }\n",
156
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
157
+ " background: #F44336;\n",
158
+ " }\n",
159
+ "</style>\n"
160
+ ],
161
+ "text/plain": [
162
+ "<IPython.core.display.HTML object>"
163
+ ]
164
+ },
165
+ "metadata": {},
166
+ "output_type": "display_data"
167
+ },
168
+ {
169
+ "data": {
170
+ "text/html": [],
171
+ "text/plain": [
172
+ "<IPython.core.display.HTML object>"
173
+ ]
174
+ },
175
+ "metadata": {},
176
+ "output_type": "display_data"
177
+ },
178
+ {
179
+ "data": {
180
+ "text/plain": [
181
+ "{'Dog': 0.9999990463256836, 'Cat': 1.0026775498772622e-06}"
182
+ ]
183
+ },
184
+ "execution_count": 17,
185
+ "metadata": {},
186
+ "output_type": "execute_result"
187
+ }
188
+ ],
189
+ "source": [
190
+ "classify_image(im)"
191
+ ]
192
+ },
193
+ {
194
+ "cell_type": "code",
195
+ "execution_count": 20,
196
+ "id": "4756c2a6",
197
+ "metadata": {},
198
+ "outputs": [
199
+ {
200
+ "name": "stderr",
201
+ "output_type": "stream",
202
+ "text": [
203
+ "/home/krm/mambaforge/lib/python3.10/site-packages/gradio/inputs.py:257: UserWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n",
204
+ " warnings.warn(\n",
205
+ "/home/krm/mambaforge/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
206
+ " warnings.warn(value)\n",
207
+ "/home/krm/mambaforge/lib/python3.10/site-packages/gradio/outputs.py:197: UserWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n",
208
+ " warnings.warn(\n",
209
+ "/home/krm/mambaforge/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
210
+ " warnings.warn(value)\n"
211
+ ]
212
+ },
213
+ {
214
+ "name": "stdout",
215
+ "output_type": "stream",
216
+ "text": [
217
+ "Running on local URL: http://127.0.0.1:7860\n",
218
+ "\n",
219
+ "To create a public link, set `share=True` in `launch()`.\n"
220
+ ]
221
+ },
222
+ {
223
+ "data": {
224
+ "text/plain": []
225
+ },
226
+ "execution_count": 20,
227
+ "metadata": {},
228
+ "output_type": "execute_result"
229
+ },
230
+ {
231
+ "data": {
232
+ "text/html": [
233
+ "\n",
234
+ "<style>\n",
235
+ " /* Turns off some styling */\n",
236
+ " progress {\n",
237
+ " /* gets rid of default border in Firefox and Opera. */\n",
238
+ " border: none;\n",
239
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
240
+ " background-size: auto;\n",
241
+ " }\n",
242
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
243
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
244
+ " }\n",
245
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
246
+ " background: #F44336;\n",
247
+ " }\n",
248
+ "</style>\n"
249
+ ],
250
+ "text/plain": [
251
+ "<IPython.core.display.HTML object>"
252
+ ]
253
+ },
254
+ "metadata": {},
255
+ "output_type": "display_data"
256
+ },
257
+ {
258
+ "data": {
259
+ "text/html": [],
260
+ "text/plain": [
261
+ "<IPython.core.display.HTML object>"
262
+ ]
263
+ },
264
+ "metadata": {},
265
+ "output_type": "display_data"
266
+ },
267
+ {
268
+ "data": {
269
+ "text/html": [
270
+ "\n",
271
+ "<style>\n",
272
+ " /* Turns off some styling */\n",
273
+ " progress {\n",
274
+ " /* gets rid of default border in Firefox and Opera. */\n",
275
+ " border: none;\n",
276
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
277
+ " background-size: auto;\n",
278
+ " }\n",
279
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
280
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
281
+ " }\n",
282
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
283
+ " background: #F44336;\n",
284
+ " }\n",
285
+ "</style>\n"
286
+ ],
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
+ "text/plain": [
298
+ "<IPython.core.display.HTML object>"
299
+ ]
300
+ },
301
+ "metadata": {},
302
+ "output_type": "display_data"
303
+ },
304
+ {
305
+ "data": {
306
+ "text/html": [
307
+ "\n",
308
+ "<style>\n",
309
+ " /* Turns off some styling */\n",
310
+ " progress {\n",
311
+ " /* gets rid of default border in Firefox and Opera. */\n",
312
+ " border: none;\n",
313
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
314
+ " background-size: auto;\n",
315
+ " }\n",
316
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
317
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
318
+ " }\n",
319
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
320
+ " background: #F44336;\n",
321
+ " }\n",
322
+ "</style>\n"
323
+ ],
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
+ "text/plain": [
335
+ "<IPython.core.display.HTML object>"
336
+ ]
337
+ },
338
+ "metadata": {},
339
+ "output_type": "display_data"
340
+ }
341
+ ],
342
+ "source": [
343
+ "#|export\n",
344
+ "image = gr.inputs.Image(shape=(192, 192))\n",
345
+ "label = gr.outputs.Label()\n",
346
+ "examples = ['dog.jpg', 'cat.jpg', 'unknown.jpg']\n",
347
+ "\n",
348
+ "interface = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
349
+ "interface.launch(inline=False)"
350
+ ]
351
+ },
352
+ {
353
+ "cell_type": "markdown",
354
+ "id": "6785f08b",
355
+ "metadata": {},
356
+ "source": [
357
+ "## Export"
358
+ ]
359
+ },
360
+ {
361
+ "cell_type": "code",
362
+ "execution_count": 24,
363
+ "id": "615da96c",
364
+ "metadata": {},
365
+ "outputs": [],
366
+ "source": [
367
+ "import nbdev"
368
+ ]
369
+ },
370
+ {
371
+ "cell_type": "code",
372
+ "execution_count": 25,
373
+ "id": "bd61aa5b",
374
+ "metadata": {},
375
+ "outputs": [],
376
+ "source": [
377
+ "nbdev.export.nb_export(\"app.ipynb\", \".\")"
378
+ ]
379
+ },
380
+ {
381
+ "cell_type": "code",
382
+ "execution_count": null,
383
+ "id": "d4f7bb67",
384
+ "metadata": {},
385
+ "outputs": [],
386
+ "source": []
387
+ }
388
+ ],
389
+ "metadata": {
390
+ "kernelspec": {
391
+ "display_name": "Python 3 (ipykernel)",
392
+ "language": "python",
393
+ "name": "python3"
394
+ },
395
+ "language_info": {
396
+ "codemirror_mode": {
397
+ "name": "ipython",
398
+ "version": 3
399
+ },
400
+ "file_extension": ".py",
401
+ "mimetype": "text/x-python",
402
+ "name": "python",
403
+ "nbconvert_exporter": "python",
404
+ "pygments_lexer": "ipython3",
405
+ "version": "3.10.8"
406
+ }
407
+ },
408
+ "nbformat": 4,
409
+ "nbformat_minor": 5
410
+ }
app.py CHANGED
@@ -1,7 +1,28 @@
 
 
 
 
 
 
 
1
  import gradio as gr
2
 
3
- def greet(name):
4
- return f"Hello {name}!!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- interface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- interface.launch()
1
+ # AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
2
+
3
+ # %% auto 0
4
+ __all__ = ['is_cat', 'learner', 'categories', 'image', 'label', 'examples', 'interface', 'classify_image']
5
+
6
+ # %% app.ipynb 1
7
+ from fastai.vision.all import *
8
  import gradio as gr
9
 
10
+ is_cat = lambda x: x[0].isupper()
11
+
12
+ # %% app.ipynb 3
13
+ learner = load_learner("model.pkl")
14
+
15
+ # %% app.ipynb 5
16
+ categories = ("Dog", "Cat")
17
+
18
+ def classify_image(img):
19
+ prediction, index, probs = learner.predict(img)
20
+ return dict(zip(categories, map(float, probs)))
21
+
22
+ # %% app.ipynb 7
23
+ image = gr.inputs.Image(shape=(192, 192))
24
+ label = gr.outputs.Label()
25
+ examples = ['dog.jpg', 'cat.jpg', 'unknown.jpg']
26
 
27
+ interface = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
28
+ interface.launch(inline=False)
cat.jpg ADDED
dog.jpg ADDED
unknown.jpg ADDED