jdinh commited on
Commit
4e799be
1 Parent(s): 843202d

Gradio UI test

Browse files
.ipynb_checkpoints/testing-checkpoint.ipynb ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 1,
6
+ "id": "a001aeaa",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "from fastai.vision.all import *"
11
+ ]
12
+ },
13
+ {
14
+ "cell_type": "code",
15
+ "execution_count": 2,
16
+ "id": "77a1ec51",
17
+ "metadata": {},
18
+ "outputs": [
19
+ {
20
+ "ename": "ModuleNotFoundError",
21
+ "evalue": "No module named 'gradio'",
22
+ "output_type": "error",
23
+ "traceback": [
24
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
25
+ "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
26
+ "Cell \u001b[0;32mIn[2], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mgradio\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mgr\u001b[39;00m\n",
27
+ "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'gradio'"
28
+ ]
29
+ }
30
+ ],
31
+ "source": [
32
+ "import gradio as gr"
33
+ ]
34
+ },
35
+ {
36
+ "cell_type": "code",
37
+ "execution_count": 4,
38
+ "id": "bfa6ddd8",
39
+ "metadata": {},
40
+ "outputs": [
41
+ {
42
+ "data": {
43
+ "image/png": "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\n",
44
+ "text/plain": [
45
+ "PILImage mode=RGB size=192x139"
46
+ ]
47
+ },
48
+ "execution_count": 4,
49
+ "metadata": {},
50
+ "output_type": "execute_result"
51
+ }
52
+ ],
53
+ "source": [
54
+ "im = PILImage.create('air_chair.jpg')\n",
55
+ "im.thumbnail((192,192))\n",
56
+ "im"
57
+ ]
58
+ },
59
+ {
60
+ "cell_type": "code",
61
+ "execution_count": 6,
62
+ "id": "3e90c9c5",
63
+ "metadata": {},
64
+ "outputs": [],
65
+ "source": [
66
+ "learn = load_learner('model.pkl')"
67
+ ]
68
+ },
69
+ {
70
+ "cell_type": "code",
71
+ "execution_count": 7,
72
+ "id": "8af21afa",
73
+ "metadata": {},
74
+ "outputs": [
75
+ {
76
+ "data": {
77
+ "text/html": [
78
+ "\n",
79
+ "<style>\n",
80
+ " /* Turns off some styling */\n",
81
+ " progress {\n",
82
+ " /* gets rid of default border in Firefox and Opera. */\n",
83
+ " border: none;\n",
84
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
85
+ " background-size: auto;\n",
86
+ " }\n",
87
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
88
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
89
+ " }\n",
90
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
91
+ " background: #F44336;\n",
92
+ " }\n",
93
+ "</style>\n"
94
+ ],
95
+ "text/plain": [
96
+ "<IPython.core.display.HTML object>"
97
+ ]
98
+ },
99
+ "metadata": {},
100
+ "output_type": "display_data"
101
+ },
102
+ {
103
+ "data": {
104
+ "text/html": [],
105
+ "text/plain": [
106
+ "<IPython.core.display.HTML object>"
107
+ ]
108
+ },
109
+ "metadata": {},
110
+ "output_type": "display_data"
111
+ },
112
+ {
113
+ "data": {
114
+ "text/plain": [
115
+ "('air chair', tensor(0), tensor([0.5669, 0.1083, 0.1205, 0.0177, 0.1866]))"
116
+ ]
117
+ },
118
+ "execution_count": 7,
119
+ "metadata": {},
120
+ "output_type": "execute_result"
121
+ }
122
+ ],
123
+ "source": [
124
+ "learn.predict(im)"
125
+ ]
126
+ },
127
+ {
128
+ "cell_type": "code",
129
+ "execution_count": null,
130
+ "id": "1300bcd6",
131
+ "metadata": {},
132
+ "outputs": [],
133
+ "source": []
134
+ }
135
+ ],
136
+ "metadata": {
137
+ "kernelspec": {
138
+ "display_name": "Python 3 (ipykernel)",
139
+ "language": "python",
140
+ "name": "python3"
141
+ },
142
+ "language_info": {
143
+ "codemirror_mode": {
144
+ "name": "ipython",
145
+ "version": 3
146
+ },
147
+ "file_extension": ".py",
148
+ "mimetype": "text/x-python",
149
+ "name": "python",
150
+ "nbconvert_exporter": "python",
151
+ "pygments_lexer": "ipython3",
152
+ "version": "3.10.10"
153
+ }
154
+ },
155
+ "nbformat": 4,
156
+ "nbformat_minor": 5
157
+ }
air_chair.jpg ADDED
air_chair.jpgZone.Identifier ADDED
File without changes
airbaby.jpeg ADDED
airbaby.jpegZone.Identifier ADDED
File without changes
airflare.jpeg ADDED
airflare.jpegZone.Identifier ADDED
File without changes
app.py CHANGED
@@ -1,7 +1,17 @@
 
1
  import gradio as gr
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
- iface.launch()
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastai.vision.all import *
2
  import gradio as gr
3
 
4
+ learn = load_learner('model.pkl')
 
5
 
6
+ categories = ('air chair','hollowback','airflare','airbaby','headspin')
7
+
8
+ def classify_image(img):
9
+ pred, idx, probs = learn.predict(img)
10
+ return dict(zip(categories, map(float,probs)))
11
+
12
+ image = gr.inputs.Image(shape=(192,192))
13
+ label = gr.outputs.Label()
14
+ examples = ['air_chair.jpg','hollowback.jpeg','airbaby.jpeg','airflare.jpeg','headspin.jpeg']
15
+
16
+ intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
17
+ intf.launch(inline=False)
headspin.jpeg ADDED
headspin.jpegZone.Identifier ADDED
File without changes
hollowback.jpeg ADDED
hollowback.jpegZone.Identifier ADDED
File without changes
model.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a52aa21078b34c00ddf615bd10757b4ca8c1d2d68fa0933d99ccba6d13ad749a
3
+ size 46968317
model.pklZone.Identifier ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ [ZoneTransfer]
2
+ ZoneId=3
3
+ ReferrerUrl=https://www.kaggle.com/
4
+ HostUrl=https://www.kaggleusercontent.com/kf/125221375/eyJhbGciOiJkaXIiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0..eGFvYdBL5KNvGoS12V43eQ.ZMpFgySFpqRq5Vfn3Vq_HF9PBOK8xgt3dSMwif2NFzn1ru4rFC7caAxoAHJXFOc3dqVrtM9sKPgpegRBsIio5OBgy4D1g-smo0TAMLdpOPrzICJ8BDNuLYP_vpRvh24t2K45Xx7TyV9afphO55o8VKPPLiHnE8YmJT8pViDY85cT40_b0PjUyiGuHrdlfbuxZxZKFafRPYevN4hpHid9QWcOkDDUF7x9TmuM66MY6tP9eZLeFSDSSeUQsH2QsBOwl_1n9IuOX7G6-4dgA0tOPqumObkCDzPPf70pEMcc9_dsRA3ewSwnY2Bm4Mz44G8bfDxhLafuZX5mfPzSpMskIm3-sCx7-ToesODgc58iDhsRJGSCbH3UJSAOgGRC-ge7Y_TsKDNi9Tr_wE73OJM3dvbrF42-glP0N0NULz3RYJVt0CS6L4elWpTf-bSCs88sVNmmfN0KZDOK0A3v_D_NPNJ2Mu8Hum6hVwjIVCKS_AUzGnqQ6MTGfDidGt62IixfgIF2zBwJq-ODzY8VuvdOMXT9UHm9bGVBSurU_p3SI0ek4la-vkkd1UBp4Ox-rdTSXBmSGvKcCe7zHWKzmZRj8CK1bk9sjFPwPD5wO5OCz122FSmuX7EqqgqqO8uVoV6zQM8RB8vz7DH1tIMhMoe_dGp5kH2OYr4q2t6ADxvvLWs.BWy5QgM2JDTTvfpbVORvIg/model.pkl
testing.ipynb ADDED
@@ -0,0 +1,574 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": 12,
6
+ "id": "a001aeaa",
7
+ "metadata": {},
8
+ "outputs": [],
9
+ "source": [
10
+ "#|export\n",
11
+ "from fastai.vision.all import *\n",
12
+ "import gradio as gr"
13
+ ]
14
+ },
15
+ {
16
+ "cell_type": "code",
17
+ "execution_count": 13,
18
+ "id": "77a1ec51",
19
+ "metadata": {},
20
+ "outputs": [],
21
+ "source": []
22
+ },
23
+ {
24
+ "cell_type": "code",
25
+ "execution_count": 14,
26
+ "id": "bfa6ddd8",
27
+ "metadata": {},
28
+ "outputs": [
29
+ {
30
+ "data": {
31
+ "image/png": "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\n",
32
+ "text/plain": [
33
+ "PILImage mode=RGB size=192x139"
34
+ ]
35
+ },
36
+ "execution_count": 14,
37
+ "metadata": {},
38
+ "output_type": "execute_result"
39
+ }
40
+ ],
41
+ "source": [
42
+ "im = PILImage.create('air_chair.jpg')\n",
43
+ "im.thumbnail((192,192))\n",
44
+ "im"
45
+ ]
46
+ },
47
+ {
48
+ "cell_type": "code",
49
+ "execution_count": 15,
50
+ "id": "3e90c9c5",
51
+ "metadata": {},
52
+ "outputs": [],
53
+ "source": [
54
+ "#|export\n",
55
+ "learn = load_learner('model.pkl')"
56
+ ]
57
+ },
58
+ {
59
+ "cell_type": "code",
60
+ "execution_count": 16,
61
+ "id": "8af21afa",
62
+ "metadata": {},
63
+ "outputs": [
64
+ {
65
+ "data": {
66
+ "text/html": [
67
+ "\n",
68
+ "<style>\n",
69
+ " /* Turns off some styling */\n",
70
+ " progress {\n",
71
+ " /* gets rid of default border in Firefox and Opera. */\n",
72
+ " border: none;\n",
73
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
74
+ " background-size: auto;\n",
75
+ " }\n",
76
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
77
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
78
+ " }\n",
79
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
80
+ " background: #F44336;\n",
81
+ " }\n",
82
+ "</style>\n"
83
+ ],
84
+ "text/plain": [
85
+ "<IPython.core.display.HTML object>"
86
+ ]
87
+ },
88
+ "metadata": {},
89
+ "output_type": "display_data"
90
+ },
91
+ {
92
+ "data": {
93
+ "text/html": [],
94
+ "text/plain": [
95
+ "<IPython.core.display.HTML object>"
96
+ ]
97
+ },
98
+ "metadata": {},
99
+ "output_type": "display_data"
100
+ },
101
+ {
102
+ "data": {
103
+ "text/plain": [
104
+ "('air chair', tensor(0), tensor([0.5669, 0.1083, 0.1205, 0.0177, 0.1866]))"
105
+ ]
106
+ },
107
+ "execution_count": 16,
108
+ "metadata": {},
109
+ "output_type": "execute_result"
110
+ }
111
+ ],
112
+ "source": [
113
+ "learn.predict(im)"
114
+ ]
115
+ },
116
+ {
117
+ "cell_type": "code",
118
+ "execution_count": 17,
119
+ "id": "1300bcd6",
120
+ "metadata": {},
121
+ "outputs": [],
122
+ "source": [
123
+ "#|export\n",
124
+ "categories = ('air chair','hollowback','airflare','airbaby','headspin')\n",
125
+ "\n",
126
+ "def classify_image(img):\n",
127
+ " pred, idx, probs = learn.predict(img)\n",
128
+ " return dict(zip(categories, map(float,probs)))"
129
+ ]
130
+ },
131
+ {
132
+ "cell_type": "code",
133
+ "execution_count": 18,
134
+ "id": "c8deb5e3",
135
+ "metadata": {},
136
+ "outputs": [
137
+ {
138
+ "data": {
139
+ "text/html": [
140
+ "\n",
141
+ "<style>\n",
142
+ " /* Turns off some styling */\n",
143
+ " progress {\n",
144
+ " /* gets rid of default border in Firefox and Opera. */\n",
145
+ " border: none;\n",
146
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
147
+ " background-size: auto;\n",
148
+ " }\n",
149
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
150
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
151
+ " }\n",
152
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
153
+ " background: #F44336;\n",
154
+ " }\n",
155
+ "</style>\n"
156
+ ],
157
+ "text/plain": [
158
+ "<IPython.core.display.HTML object>"
159
+ ]
160
+ },
161
+ "metadata": {},
162
+ "output_type": "display_data"
163
+ },
164
+ {
165
+ "data": {
166
+ "text/html": [],
167
+ "text/plain": [
168
+ "<IPython.core.display.HTML object>"
169
+ ]
170
+ },
171
+ "metadata": {},
172
+ "output_type": "display_data"
173
+ },
174
+ {
175
+ "data": {
176
+ "text/plain": [
177
+ "{'air chair': 0.5669036507606506,\n",
178
+ " 'hollowback': 0.1082528755068779,\n",
179
+ " 'airflare': 0.12053287029266357,\n",
180
+ " 'airbaby': 0.01773569919168949,\n",
181
+ " 'headspin': 0.18657492101192474}"
182
+ ]
183
+ },
184
+ "execution_count": 18,
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": 19,
196
+ "id": "8221e327",
197
+ "metadata": {},
198
+ "outputs": [
199
+ {
200
+ "name": "stderr",
201
+ "output_type": "stream",
202
+ "text": [
203
+ "/home/jdinh/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/jdinh/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/jdinh/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/jdinh/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": 19,
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
+ "data": {
343
+ "text/html": [
344
+ "\n",
345
+ "<style>\n",
346
+ " /* Turns off some styling */\n",
347
+ " progress {\n",
348
+ " /* gets rid of default border in Firefox and Opera. */\n",
349
+ " border: none;\n",
350
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
351
+ " background-size: auto;\n",
352
+ " }\n",
353
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
354
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
355
+ " }\n",
356
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
357
+ " background: #F44336;\n",
358
+ " }\n",
359
+ "</style>\n"
360
+ ],
361
+ "text/plain": [
362
+ "<IPython.core.display.HTML object>"
363
+ ]
364
+ },
365
+ "metadata": {},
366
+ "output_type": "display_data"
367
+ },
368
+ {
369
+ "data": {
370
+ "text/html": [],
371
+ "text/plain": [
372
+ "<IPython.core.display.HTML object>"
373
+ ]
374
+ },
375
+ "metadata": {},
376
+ "output_type": "display_data"
377
+ },
378
+ {
379
+ "data": {
380
+ "text/html": [
381
+ "\n",
382
+ "<style>\n",
383
+ " /* Turns off some styling */\n",
384
+ " progress {\n",
385
+ " /* gets rid of default border in Firefox and Opera. */\n",
386
+ " border: none;\n",
387
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
388
+ " background-size: auto;\n",
389
+ " }\n",
390
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
391
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
392
+ " }\n",
393
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
394
+ " background: #F44336;\n",
395
+ " }\n",
396
+ "</style>\n"
397
+ ],
398
+ "text/plain": [
399
+ "<IPython.core.display.HTML object>"
400
+ ]
401
+ },
402
+ "metadata": {},
403
+ "output_type": "display_data"
404
+ },
405
+ {
406
+ "data": {
407
+ "text/html": [],
408
+ "text/plain": [
409
+ "<IPython.core.display.HTML object>"
410
+ ]
411
+ },
412
+ "metadata": {},
413
+ "output_type": "display_data"
414
+ },
415
+ {
416
+ "data": {
417
+ "text/html": [
418
+ "\n",
419
+ "<style>\n",
420
+ " /* Turns off some styling */\n",
421
+ " progress {\n",
422
+ " /* gets rid of default border in Firefox and Opera. */\n",
423
+ " border: none;\n",
424
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
425
+ " background-size: auto;\n",
426
+ " }\n",
427
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
428
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
429
+ " }\n",
430
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
431
+ " background: #F44336;\n",
432
+ " }\n",
433
+ "</style>\n"
434
+ ],
435
+ "text/plain": [
436
+ "<IPython.core.display.HTML object>"
437
+ ]
438
+ },
439
+ "metadata": {},
440
+ "output_type": "display_data"
441
+ },
442
+ {
443
+ "data": {
444
+ "text/html": [],
445
+ "text/plain": [
446
+ "<IPython.core.display.HTML object>"
447
+ ]
448
+ },
449
+ "metadata": {},
450
+ "output_type": "display_data"
451
+ },
452
+ {
453
+ "data": {
454
+ "text/html": [
455
+ "\n",
456
+ "<style>\n",
457
+ " /* Turns off some styling */\n",
458
+ " progress {\n",
459
+ " /* gets rid of default border in Firefox and Opera. */\n",
460
+ " border: none;\n",
461
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
462
+ " background-size: auto;\n",
463
+ " }\n",
464
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
465
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
466
+ " }\n",
467
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
468
+ " background: #F44336;\n",
469
+ " }\n",
470
+ "</style>\n"
471
+ ],
472
+ "text/plain": [
473
+ "<IPython.core.display.HTML object>"
474
+ ]
475
+ },
476
+ "metadata": {},
477
+ "output_type": "display_data"
478
+ },
479
+ {
480
+ "data": {
481
+ "text/html": [],
482
+ "text/plain": [
483
+ "<IPython.core.display.HTML object>"
484
+ ]
485
+ },
486
+ "metadata": {},
487
+ "output_type": "display_data"
488
+ }
489
+ ],
490
+ "source": [
491
+ "#|export\n",
492
+ "image = gr.inputs.Image(shape=(192,192))\n",
493
+ "label = gr.outputs.Label()\n",
494
+ "examples = ['air_chair.jpg','hollowback.jpeg','airbaby.jpeg','airflare.jpeg','headspin.jpeg']\n",
495
+ "\n",
496
+ "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
497
+ "intf.launch(inline=False)"
498
+ ]
499
+ },
500
+ {
501
+ "cell_type": "code",
502
+ "execution_count": 24,
503
+ "id": "53485bd7",
504
+ "metadata": {},
505
+ "outputs": [
506
+ {
507
+ "name": "stderr",
508
+ "output_type": "stream",
509
+ "text": [
510
+ "/home/jdinh/mambaforge/lib/python3.10/site-packages/nbdev/export.py:54: UserWarning: Notebook 'testing.ipynb' uses `#|export` without `#|default_exp` cell.\n",
511
+ "Note nbdev2 no longer supports nbdev1 syntax. Run `nbdev_migrate` to upgrade.\n",
512
+ "See https://nbdev.fast.ai/getting_started.html for more information.\n",
513
+ " warn(f\"Notebook '{nbname}' uses `#|export` without `#|default_exp` cell.\\n\"\n"
514
+ ]
515
+ }
516
+ ],
517
+ "source": [
518
+ "import nbdev\n",
519
+ "nbdev.export.nb_export('testing.ipynb', 'app')"
520
+ ]
521
+ },
522
+ {
523
+ "cell_type": "code",
524
+ "execution_count": 21,
525
+ "id": "3da898fc",
526
+ "metadata": {},
527
+ "outputs": [
528
+ {
529
+ "ename": "NameError",
530
+ "evalue": "name 'notebook2script' is not defined",
531
+ "output_type": "error",
532
+ "traceback": [
533
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
534
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
535
+ "Cell \u001b[0;32mIn[21], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mnotebook2script\u001b[49m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtesting.ipynb\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
536
+ "\u001b[0;31mNameError\u001b[0m: name 'notebook2script' is not defined"
537
+ ]
538
+ }
539
+ ],
540
+ "source": [
541
+ "notebook2script('testing.ipynb')"
542
+ ]
543
+ },
544
+ {
545
+ "cell_type": "code",
546
+ "execution_count": null,
547
+ "id": "194afe26",
548
+ "metadata": {},
549
+ "outputs": [],
550
+ "source": []
551
+ }
552
+ ],
553
+ "metadata": {
554
+ "kernelspec": {
555
+ "display_name": "Python 3 (ipykernel)",
556
+ "language": "python",
557
+ "name": "python3"
558
+ },
559
+ "language_info": {
560
+ "codemirror_mode": {
561
+ "name": "ipython",
562
+ "version": 3
563
+ },
564
+ "file_extension": ".py",
565
+ "mimetype": "text/x-python",
566
+ "name": "python",
567
+ "nbconvert_exporter": "python",
568
+ "pygments_lexer": "ipython3",
569
+ "version": "3.10.10"
570
+ }
571
+ },
572
+ "nbformat": 4,
573
+ "nbformat_minor": 5
574
+ }