Spaces:
Sleeping
Sleeping
File size: 51,378 Bytes
0047cb2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "25cc0e23-fd9a-4f64-a5ca-8d34b66d021c",
"metadata": {},
"outputs": [],
"source": [
"!pip install -Uqq fastai gradio"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "c802f2cd-0f27-4003-a946-aae4875cadd5",
"metadata": {},
"outputs": [],
"source": [
"from fastai.vision.all import *\n",
"import gradio as gr\n",
"\n",
"def is_cat(x): return x[0].isupper()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "13bf6e25-be3e-44c7-a213-612f337e0086",
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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",
"image/png": "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",
"text/plain": [
"PILImage mode=RGB size=108x192"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"img = PILImage.create('dog.jpg')\n",
"img.thumbnail((192, 192))\n",
"img"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "fe9c5610-1081-444b-99f2-b3fd68dd8e7c",
"metadata": {},
"outputs": [],
"source": [
"import pathlib\n",
"temp = pathlib.PosixPath\n",
"pathlib.PosixPath = pathlib.WindowsPath"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "39e1ac7c-fa15-4791-a18b-ed8a5ac55780",
"metadata": {},
"outputs": [],
"source": [
"learner = load_learner('cat.pkl')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "5301c51f-28f4-4c89-ab4f-37c094e46543",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"('False', tensor(0), tensor([9.9995e-01, 4.9973e-05]))"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"learner.predict(img)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "de12522b-9d9c-450f-8677-af58068e3ad5",
"metadata": {},
"outputs": [],
"source": [
"categories = ['Dog', 'Cat']\n",
"\n",
"def classify_image(img):\n",
" pred,idx,probs = learner.predict(img)\n",
" return dict(zip(categories, map(float, probs)))"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "18f2eda4-7679-420e-a7f8-c197fb3a2820",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"{'Dog': 0.9999500513076782, 'Cat': 4.9972972192335874e-05}"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"classify_image(img)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "df0087fa-fbdb-4f24-a3b5-89db4534b204",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"* Running on local URL: http://127.0.0.1:7860\n",
"\n",
"To create a public link, set `share=True` in `launch()`.\n"
]
},
{
"data": {
"text/plain": []
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"<style>\n",
" /* Turns off some styling */\n",
" progress {\n",
" /* gets rid of default border in Firefox and Opera. */\n",
" border: none;\n",
" /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
" background-size: auto;\n",
" }\n",
" progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
" background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
" }\n",
" .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
" background: #F44336;\n",
" }\n",
"</style>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"image = gr.Image(height=192, width=192)\n",
"labels = gr.Label()\n",
"examples = ['dog.jpg', 'cat.jpg']\n",
"\n",
"intf = gr.Interface(fn=classify_image, inputs=image, outputs=labels, examples=examples)\n",
"intf.launch(inline=False)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.1"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|