Spaces:
Sleeping
Sleeping
Commit
•
8aa0967
1
Parent(s):
d7bbab7
Make app
Browse files- .ipynb_checkpoints/fish_or_shark-checkpoint.ipynb +342 -0
- app.py +28 -0
- fish_example.jpg +0 -0
- fish_or_shark.ipynb +360 -0
- fish_or_shark_model.pkl +3 -0
- fish_or_shark_model.pklZone.Identifier +3 -0
- shark_example.jpg +0 -0
.ipynb_checkpoints/fish_or_shark-checkpoint.ipynb
ADDED
@@ -0,0 +1,342 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"id": "c9c9e278-19a2-467d-9576-6d0df49ef1ba",
|
7 |
+
"metadata": {},
|
8 |
+
"outputs": [],
|
9 |
+
"source": [
|
10 |
+
"#|default_exp app"
|
11 |
+
]
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"cell_type": "code",
|
15 |
+
"execution_count": 2,
|
16 |
+
"id": "07c2b9f2-328a-436d-9803-694b748c2dd2",
|
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 |
+
"def is_cat(x): return x[0].isupper()"
|
25 |
+
]
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"cell_type": "code",
|
29 |
+
"execution_count": 3,
|
30 |
+
"id": "15f81d0a-0017-49fc-9a37-8414aa7001fd",
|
31 |
+
"metadata": {},
|
32 |
+
"outputs": [
|
33 |
+
{
|
34 |
+
"data": {
|
35 |
+
"image/png": "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",
|
36 |
+
"text/plain": [
|
37 |
+
"PILImage mode=RGB size=192x172"
|
38 |
+
]
|
39 |
+
},
|
40 |
+
"execution_count": 3,
|
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"
|
49 |
+
]
|
50 |
+
},
|
51 |
+
{
|
52 |
+
"cell_type": "code",
|
53 |
+
"execution_count": 4,
|
54 |
+
"id": "a3641af0-14cd-4388-b3b0-ac2913673947",
|
55 |
+
"metadata": {},
|
56 |
+
"outputs": [],
|
57 |
+
"source": [
|
58 |
+
"#|export\n",
|
59 |
+
"learn = load_learner('model.pkl')"
|
60 |
+
]
|
61 |
+
},
|
62 |
+
{
|
63 |
+
"cell_type": "code",
|
64 |
+
"execution_count": 5,
|
65 |
+
"id": "6d71c025-a567-466e-ac52-2d36759a4d22",
|
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', tensor(0), tensor([9.9999e-01, 5.8306e-06]))"
|
109 |
+
]
|
110 |
+
},
|
111 |
+
"execution_count": 5,
|
112 |
+
"metadata": {},
|
113 |
+
"output_type": "execute_result"
|
114 |
+
}
|
115 |
+
],
|
116 |
+
"source": [
|
117 |
+
"learn.predict(im)"
|
118 |
+
]
|
119 |
+
},
|
120 |
+
{
|
121 |
+
"cell_type": "code",
|
122 |
+
"execution_count": 6,
|
123 |
+
"id": "69cf5231-82f9-4625-b92e-f4a40a2888e2",
|
124 |
+
"metadata": {},
|
125 |
+
"outputs": [],
|
126 |
+
"source": [
|
127 |
+
"#|export\n",
|
128 |
+
"categories = ('Dog', 'Cat')\n",
|
129 |
+
"\n",
|
130 |
+
"def classify_image(img):\n",
|
131 |
+
" pred,idx,probs = learn.predict(img)\n",
|
132 |
+
" return dict(zip(categories, map(float,probs)))"
|
133 |
+
]
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"cell_type": "code",
|
137 |
+
"execution_count": 7,
|
138 |
+
"id": "07b03210-145c-4ba8-90c4-d94f164d1e6c",
|
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.999994158744812, 'Cat': 5.8305690799898e-06}"
|
182 |
+
]
|
183 |
+
},
|
184 |
+
"execution_count": 7,
|
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": 8,
|
196 |
+
"id": "ae51388f-3362-4b86-b8d4-366a90d1069b",
|
197 |
+
"metadata": {},
|
198 |
+
"outputs": [
|
199 |
+
{
|
200 |
+
"name": "stdout",
|
201 |
+
"output_type": "stream",
|
202 |
+
"text": [
|
203 |
+
"Running on local URL: http://127.0.0.1:7861\n",
|
204 |
+
"\n",
|
205 |
+
"To create a public link, set `share=True` in `launch()`.\n"
|
206 |
+
]
|
207 |
+
},
|
208 |
+
{
|
209 |
+
"data": {
|
210 |
+
"text/plain": []
|
211 |
+
},
|
212 |
+
"execution_count": 8,
|
213 |
+
"metadata": {},
|
214 |
+
"output_type": "execute_result"
|
215 |
+
},
|
216 |
+
{
|
217 |
+
"data": {
|
218 |
+
"text/html": [
|
219 |
+
"\n",
|
220 |
+
"<style>\n",
|
221 |
+
" /* Turns off some styling */\n",
|
222 |
+
" progress {\n",
|
223 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
224 |
+
" border: none;\n",
|
225 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
226 |
+
" background-size: auto;\n",
|
227 |
+
" }\n",
|
228 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
229 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
230 |
+
" }\n",
|
231 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
232 |
+
" background: #F44336;\n",
|
233 |
+
" }\n",
|
234 |
+
"</style>\n"
|
235 |
+
],
|
236 |
+
"text/plain": [
|
237 |
+
"<IPython.core.display.HTML object>"
|
238 |
+
]
|
239 |
+
},
|
240 |
+
"metadata": {},
|
241 |
+
"output_type": "display_data"
|
242 |
+
},
|
243 |
+
{
|
244 |
+
"data": {
|
245 |
+
"text/html": [],
|
246 |
+
"text/plain": [
|
247 |
+
"<IPython.core.display.HTML object>"
|
248 |
+
]
|
249 |
+
},
|
250 |
+
"metadata": {},
|
251 |
+
"output_type": "display_data"
|
252 |
+
},
|
253 |
+
{
|
254 |
+
"data": {
|
255 |
+
"text/html": [
|
256 |
+
"\n",
|
257 |
+
"<style>\n",
|
258 |
+
" /* Turns off some styling */\n",
|
259 |
+
" progress {\n",
|
260 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
261 |
+
" border: none;\n",
|
262 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
263 |
+
" background-size: auto;\n",
|
264 |
+
" }\n",
|
265 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
266 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
267 |
+
" }\n",
|
268 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
269 |
+
" background: #F44336;\n",
|
270 |
+
" }\n",
|
271 |
+
"</style>\n"
|
272 |
+
],
|
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 |
+
"text/plain": [
|
284 |
+
"<IPython.core.display.HTML object>"
|
285 |
+
]
|
286 |
+
},
|
287 |
+
"metadata": {},
|
288 |
+
"output_type": "display_data"
|
289 |
+
}
|
290 |
+
],
|
291 |
+
"source": [
|
292 |
+
"#|export\n",
|
293 |
+
"image = gr.Image()\n",
|
294 |
+
"label = gr.Label()\n",
|
295 |
+
"examples = ['dog.jpg', 'cat.jpg']\n",
|
296 |
+
"\n",
|
297 |
+
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
|
298 |
+
"intf.launch(inline=False)"
|
299 |
+
]
|
300 |
+
},
|
301 |
+
{
|
302 |
+
"cell_type": "code",
|
303 |
+
"execution_count": 14,
|
304 |
+
"id": "df5b01d5-602d-42c0-a9b2-e2b2b1dc2f3b",
|
305 |
+
"metadata": {},
|
306 |
+
"outputs": [],
|
307 |
+
"source": [
|
308 |
+
"import nbdev\n",
|
309 |
+
"nbdev.export.nb_export('catordog.ipynb', './')"
|
310 |
+
]
|
311 |
+
},
|
312 |
+
{
|
313 |
+
"cell_type": "code",
|
314 |
+
"execution_count": null,
|
315 |
+
"id": "f32433e6-fc87-4d91-ab51-1c590fa48279",
|
316 |
+
"metadata": {},
|
317 |
+
"outputs": [],
|
318 |
+
"source": []
|
319 |
+
}
|
320 |
+
],
|
321 |
+
"metadata": {
|
322 |
+
"kernelspec": {
|
323 |
+
"display_name": "Python 3 (ipykernel)",
|
324 |
+
"language": "python",
|
325 |
+
"name": "python3"
|
326 |
+
},
|
327 |
+
"language_info": {
|
328 |
+
"codemirror_mode": {
|
329 |
+
"name": "ipython",
|
330 |
+
"version": 3
|
331 |
+
},
|
332 |
+
"file_extension": ".py",
|
333 |
+
"mimetype": "text/x-python",
|
334 |
+
"name": "python",
|
335 |
+
"nbconvert_exporter": "python",
|
336 |
+
"pygments_lexer": "ipython3",
|
337 |
+
"version": "3.10.14"
|
338 |
+
}
|
339 |
+
},
|
340 |
+
"nbformat": 4,
|
341 |
+
"nbformat_minor": 5
|
342 |
+
}
|
app.py
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# AUTOGENERATED! DO NOT EDIT! File to edit: fish_or_shark.ipynb.
|
2 |
+
|
3 |
+
# %% auto 0
|
4 |
+
__all__ = ['learn', 'categories', 'image', 'label', 'examples', 'intf', 'is_fish', 'classify_image']
|
5 |
+
|
6 |
+
# %% fish_or_shark.ipynb 1
|
7 |
+
from fastai.vision.all import *
|
8 |
+
import gradio as gr
|
9 |
+
|
10 |
+
def is_fish(x): return x[0].isupper()
|
11 |
+
|
12 |
+
# %% fish_or_shark.ipynb 3
|
13 |
+
learn = load_learner('fish_or_shark_model.pkl')
|
14 |
+
|
15 |
+
# %% fish_or_shark.ipynb 5
|
16 |
+
categories = ('Fish', 'Shark')
|
17 |
+
|
18 |
+
def classify_image(img):
|
19 |
+
pred,idx,probs = learn.predict(img)
|
20 |
+
return dict(zip(categories, map(float,probs)))
|
21 |
+
|
22 |
+
# %% fish_or_shark.ipynb 7
|
23 |
+
image = gr.Image()
|
24 |
+
label = gr.Label()
|
25 |
+
examples = ['fish_example.jpg', 'shark_example.jpg']
|
26 |
+
|
27 |
+
intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
|
28 |
+
intf.launch(inline=False)
|
fish_example.jpg
ADDED
![]() |
fish_or_shark.ipynb
ADDED
@@ -0,0 +1,360 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"cells": [
|
3 |
+
{
|
4 |
+
"cell_type": "code",
|
5 |
+
"execution_count": 1,
|
6 |
+
"id": "c9c9e278-19a2-467d-9576-6d0df49ef1ba",
|
7 |
+
"metadata": {},
|
8 |
+
"outputs": [],
|
9 |
+
"source": [
|
10 |
+
"#|default_exp app"
|
11 |
+
]
|
12 |
+
},
|
13 |
+
{
|
14 |
+
"cell_type": "code",
|
15 |
+
"execution_count": 1,
|
16 |
+
"id": "07c2b9f2-328a-436d-9803-694b748c2dd2",
|
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 |
+
"def is_fish(x): return x[0].isupper()"
|
25 |
+
]
|
26 |
+
},
|
27 |
+
{
|
28 |
+
"cell_type": "code",
|
29 |
+
"execution_count": 2,
|
30 |
+
"id": "15f81d0a-0017-49fc-9a37-8414aa7001fd",
|
31 |
+
"metadata": {},
|
32 |
+
"outputs": [
|
33 |
+
{
|
34 |
+
"data": {
|
35 |
+
"image/png": "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",
|
36 |
+
"text/plain": [
|
37 |
+
"PILImage mode=RGB size=192x127"
|
38 |
+
]
|
39 |
+
},
|
40 |
+
"execution_count": 2,
|
41 |
+
"metadata": {},
|
42 |
+
"output_type": "execute_result"
|
43 |
+
}
|
44 |
+
],
|
45 |
+
"source": [
|
46 |
+
"im = PILImage.create('fish_example.jpg')\n",
|
47 |
+
"im.thumbnail((192,192))\n",
|
48 |
+
"im"
|
49 |
+
]
|
50 |
+
},
|
51 |
+
{
|
52 |
+
"cell_type": "code",
|
53 |
+
"execution_count": 4,
|
54 |
+
"id": "a3641af0-14cd-4388-b3b0-ac2913673947",
|
55 |
+
"metadata": {},
|
56 |
+
"outputs": [],
|
57 |
+
"source": [
|
58 |
+
"#|export\n",
|
59 |
+
"learn = load_learner('fish_or_shark_model.pkl')"
|
60 |
+
]
|
61 |
+
},
|
62 |
+
{
|
63 |
+
"cell_type": "code",
|
64 |
+
"execution_count": 5,
|
65 |
+
"id": "6d71c025-a567-466e-ac52-2d36759a4d22",
|
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 |
+
"('fish', tensor(0), tensor([0.9950, 0.0050]))"
|
109 |
+
]
|
110 |
+
},
|
111 |
+
"execution_count": 5,
|
112 |
+
"metadata": {},
|
113 |
+
"output_type": "execute_result"
|
114 |
+
}
|
115 |
+
],
|
116 |
+
"source": [
|
117 |
+
"learn.predict(im)"
|
118 |
+
]
|
119 |
+
},
|
120 |
+
{
|
121 |
+
"cell_type": "code",
|
122 |
+
"execution_count": 6,
|
123 |
+
"id": "69cf5231-82f9-4625-b92e-f4a40a2888e2",
|
124 |
+
"metadata": {},
|
125 |
+
"outputs": [],
|
126 |
+
"source": [
|
127 |
+
"#|export\n",
|
128 |
+
"categories = ('Fish', 'Shark')\n",
|
129 |
+
"\n",
|
130 |
+
"def classify_image(img):\n",
|
131 |
+
" pred,idx,probs = learn.predict(img)\n",
|
132 |
+
" return dict(zip(categories, map(float,probs)))"
|
133 |
+
]
|
134 |
+
},
|
135 |
+
{
|
136 |
+
"cell_type": "code",
|
137 |
+
"execution_count": 7,
|
138 |
+
"id": "07b03210-145c-4ba8-90c4-d94f164d1e6c",
|
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 |
+
"{'Fish': 0.9949945211410522, 'Shark': 0.0050055040046572685}"
|
182 |
+
]
|
183 |
+
},
|
184 |
+
"execution_count": 7,
|
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": 9,
|
196 |
+
"id": "ae51388f-3362-4b86-b8d4-366a90d1069b",
|
197 |
+
"metadata": {},
|
198 |
+
"outputs": [
|
199 |
+
{
|
200 |
+
"name": "stdout",
|
201 |
+
"output_type": "stream",
|
202 |
+
"text": [
|
203 |
+
"Running on local URL: http://127.0.0.1:7862\n",
|
204 |
+
"\n",
|
205 |
+
"To create a public link, set `share=True` in `launch()`.\n"
|
206 |
+
]
|
207 |
+
},
|
208 |
+
{
|
209 |
+
"data": {
|
210 |
+
"text/plain": []
|
211 |
+
},
|
212 |
+
"execution_count": 9,
|
213 |
+
"metadata": {},
|
214 |
+
"output_type": "execute_result"
|
215 |
+
},
|
216 |
+
{
|
217 |
+
"data": {
|
218 |
+
"text/html": [
|
219 |
+
"\n",
|
220 |
+
"<style>\n",
|
221 |
+
" /* Turns off some styling */\n",
|
222 |
+
" progress {\n",
|
223 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
224 |
+
" border: none;\n",
|
225 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
226 |
+
" background-size: auto;\n",
|
227 |
+
" }\n",
|
228 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
229 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
230 |
+
" }\n",
|
231 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
232 |
+
" background: #F44336;\n",
|
233 |
+
" }\n",
|
234 |
+
"</style>\n"
|
235 |
+
],
|
236 |
+
"text/plain": [
|
237 |
+
"<IPython.core.display.HTML object>"
|
238 |
+
]
|
239 |
+
},
|
240 |
+
"metadata": {},
|
241 |
+
"output_type": "display_data"
|
242 |
+
},
|
243 |
+
{
|
244 |
+
"data": {
|
245 |
+
"text/html": [],
|
246 |
+
"text/plain": [
|
247 |
+
"<IPython.core.display.HTML object>"
|
248 |
+
]
|
249 |
+
},
|
250 |
+
"metadata": {},
|
251 |
+
"output_type": "display_data"
|
252 |
+
},
|
253 |
+
{
|
254 |
+
"data": {
|
255 |
+
"text/html": [
|
256 |
+
"\n",
|
257 |
+
"<style>\n",
|
258 |
+
" /* Turns off some styling */\n",
|
259 |
+
" progress {\n",
|
260 |
+
" /* gets rid of default border in Firefox and Opera. */\n",
|
261 |
+
" border: none;\n",
|
262 |
+
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
|
263 |
+
" background-size: auto;\n",
|
264 |
+
" }\n",
|
265 |
+
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
|
266 |
+
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
|
267 |
+
" }\n",
|
268 |
+
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
|
269 |
+
" background: #F44336;\n",
|
270 |
+
" }\n",
|
271 |
+
"</style>\n"
|
272 |
+
],
|
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 |
+
"text/plain": [
|
284 |
+
"<IPython.core.display.HTML object>"
|
285 |
+
]
|
286 |
+
},
|
287 |
+
"metadata": {},
|
288 |
+
"output_type": "display_data"
|
289 |
+
}
|
290 |
+
],
|
291 |
+
"source": [
|
292 |
+
"#|export\n",
|
293 |
+
"image = gr.Image()\n",
|
294 |
+
"label = gr.Label()\n",
|
295 |
+
"examples = ['fish_example.jpg', 'shark_example.jpg']\n",
|
296 |
+
"\n",
|
297 |
+
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
|
298 |
+
"intf.launch(inline=False)"
|
299 |
+
]
|
300 |
+
},
|
301 |
+
{
|
302 |
+
"cell_type": "code",
|
303 |
+
"execution_count": 10,
|
304 |
+
"id": "df5b01d5-602d-42c0-a9b2-e2b2b1dc2f3b",
|
305 |
+
"metadata": {},
|
306 |
+
"outputs": [
|
307 |
+
{
|
308 |
+
"ename": "FileNotFoundError",
|
309 |
+
"evalue": "[Errno 2] No such file or directory: 'catordog.ipynb'",
|
310 |
+
"output_type": "error",
|
311 |
+
"traceback": [
|
312 |
+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
313 |
+
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
|
314 |
+
"Cell \u001b[0;32mIn[10], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mnbdev\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mnbdev\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexport\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mnb_export\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mcatordog.ipynb\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m./\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
|
315 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/nbdev/export.py:67\u001b[0m, in \u001b[0;36mnb_export\u001b[0;34m(nbname, lib_path, procs, debug, mod_maker, name)\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m lib_path \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: lib_path \u001b[38;5;241m=\u001b[39m get_config()\u001b[38;5;241m.\u001b[39mlib_path\n\u001b[1;32m 66\u001b[0m exp \u001b[38;5;241m=\u001b[39m ExportModuleProc()\n\u001b[0;32m---> 67\u001b[0m nb \u001b[38;5;241m=\u001b[39m \u001b[43mNBProcessor\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnbname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[43mexp\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mL\u001b[49m\u001b[43m(\u001b[49m\u001b[43mprocs\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdebug\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdebug\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 68\u001b[0m nb\u001b[38;5;241m.\u001b[39mprocess()\n\u001b[1;32m 69\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m mod,cells \u001b[38;5;129;01min\u001b[39;00m exp\u001b[38;5;241m.\u001b[39mmodules\u001b[38;5;241m.\u001b[39mitems():\n",
|
316 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/nbdev/process.py:93\u001b[0m, in \u001b[0;36mNBProcessor.__init__\u001b[0;34m(self, path, procs, nb, debug, rm_directives, process)\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, path\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, procs\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, nb\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, debug\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m, rm_directives\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, process\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m):\n\u001b[0;32m---> 93\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnb \u001b[38;5;241m=\u001b[39m \u001b[43mread_nb\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mif\u001b[39;00m nb \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;28;01melse\u001b[39;00m nb\n\u001b[1;32m 94\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlang \u001b[38;5;241m=\u001b[39m nb_lang(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnb)\n\u001b[1;32m 95\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m cell \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mnb\u001b[38;5;241m.\u001b[39mcells: cell\u001b[38;5;241m.\u001b[39mdirectives_ \u001b[38;5;241m=\u001b[39m extract_directives(cell, remove\u001b[38;5;241m=\u001b[39mrm_directives, lang\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlang)\n",
|
317 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/execnb/nbio.py:57\u001b[0m, in \u001b[0;36mread_nb\u001b[0;34m(path)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mread_nb\u001b[39m(path):\n\u001b[1;32m 56\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mReturn notebook at `path`\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m---> 57\u001b[0m res \u001b[38;5;241m=\u001b[39m dict2nb(\u001b[43m_read_json\u001b[49m\u001b[43m(\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mutf-8\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m)\n\u001b[1;32m 58\u001b[0m res[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpath_\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mstr\u001b[39m(path)\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m res\n",
|
318 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/site-packages/execnb/nbio.py:16\u001b[0m, in \u001b[0;36m_read_json\u001b[0;34m(self, encoding, errors)\u001b[0m\n\u001b[1;32m 15\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m_read_json\u001b[39m(\u001b[38;5;28mself\u001b[39m, encoding\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, errors\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m):\n\u001b[0;32m---> 16\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m loads(\u001b[43mPath\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_text\u001b[49m\u001b[43m(\u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m)\u001b[49m)\n",
|
319 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/pathlib.py:1134\u001b[0m, in \u001b[0;36mPath.read_text\u001b[0;34m(self, encoding, errors)\u001b[0m\n\u001b[1;32m 1130\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1131\u001b[0m \u001b[38;5;124;03mOpen the file in text mode, read it, and close the file.\u001b[39;00m\n\u001b[1;32m 1132\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1133\u001b[0m encoding \u001b[38;5;241m=\u001b[39m io\u001b[38;5;241m.\u001b[39mtext_encoding(encoding)\n\u001b[0;32m-> 1134\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m 1135\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m f\u001b[38;5;241m.\u001b[39mread()\n",
|
320 |
+
"File \u001b[0;32m~/miniforge3/lib/python3.10/pathlib.py:1119\u001b[0m, in \u001b[0;36mPath.open\u001b[0;34m(self, mode, buffering, encoding, errors, newline)\u001b[0m\n\u001b[1;32m 1117\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m mode:\n\u001b[1;32m 1118\u001b[0m encoding \u001b[38;5;241m=\u001b[39m io\u001b[38;5;241m.\u001b[39mtext_encoding(encoding)\n\u001b[0;32m-> 1119\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_accessor\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbuffering\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1120\u001b[0m \u001b[43m \u001b[49m\u001b[43mnewline\u001b[49m\u001b[43m)\u001b[49m\n",
|
321 |
+
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'catordog.ipynb'"
|
322 |
+
]
|
323 |
+
}
|
324 |
+
],
|
325 |
+
"source": [
|
326 |
+
"import nbdev\n",
|
327 |
+
"nbdev.export.nb_export('fish_or_shark.ipynb', './')"
|
328 |
+
]
|
329 |
+
},
|
330 |
+
{
|
331 |
+
"cell_type": "code",
|
332 |
+
"execution_count": null,
|
333 |
+
"id": "f32433e6-fc87-4d91-ab51-1c590fa48279",
|
334 |
+
"metadata": {},
|
335 |
+
"outputs": [],
|
336 |
+
"source": []
|
337 |
+
}
|
338 |
+
],
|
339 |
+
"metadata": {
|
340 |
+
"kernelspec": {
|
341 |
+
"display_name": "Python 3 (ipykernel)",
|
342 |
+
"language": "python",
|
343 |
+
"name": "python3"
|
344 |
+
},
|
345 |
+
"language_info": {
|
346 |
+
"codemirror_mode": {
|
347 |
+
"name": "ipython",
|
348 |
+
"version": 3
|
349 |
+
},
|
350 |
+
"file_extension": ".py",
|
351 |
+
"mimetype": "text/x-python",
|
352 |
+
"name": "python",
|
353 |
+
"nbconvert_exporter": "python",
|
354 |
+
"pygments_lexer": "ipython3",
|
355 |
+
"version": "3.10.14"
|
356 |
+
}
|
357 |
+
},
|
358 |
+
"nbformat": 4,
|
359 |
+
"nbformat_minor": 5
|
360 |
+
}
|
fish_or_shark_model.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:c46ecd0f704496253abccf298e79867462cc44f65b140e19d839b47703f275ec
|
3 |
+
size 46967612
|
fish_or_shark_model.pklZone.Identifier
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
[ZoneTransfer]
|
2 |
+
ZoneId=3
|
3 |
+
HostUrl=https://www.kaggle.com/
|
shark_example.jpg
ADDED
![]() |