{
"cells": [
{
"cell_type": "code",
"execution_count": 30,
"id": "dd139fe0",
"metadata": {},
"outputs": [],
"source": [
"#!default_exp app"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "8786f27e",
"metadata": {},
"outputs": [],
"source": [
"#!export \n",
"from fastai.vision.all import *\n",
"import gradio as gr\n",
"def is_cat(x): return x[0].isupper()\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "d3f51b1e",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"PILImage mode=RGB size=192x144"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"im = PILImage.create('dog.jpeg')\n",
"im.thumbnail((192,192))\n",
"im\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c0e9766b",
"metadata": {},
"outputs": [],
"source": [
"#!export\n",
"learn = load_learner('model.pkl')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "182d3790",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"('False', TensorBase(0), TensorBase([1.0000e+00, 7.8189e-07]))"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"learn.predict(im)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "e17a6163",
"metadata": {},
"outputs": [],
"source": [
"#!export\n",
"categories = ('Dog','Cat')\n",
"\n",
"def classify_image(img):\n",
" pred,idx,probs = learn.predict(img)\n",
" return dict(zip(categories,map(float,probs)))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f53e23c2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"{'Dog': 0.9999991655349731, 'Cat': 7.818876497367455e-07}"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"classify_image(im)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "2192f91d",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/ashutoshrudraksh/opt/miniconda3/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",
" warnings.warn(\n",
"/Users/ashutoshrudraksh/opt/miniconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",
" warnings.warn(value)\n",
"/Users/ashutoshrudraksh/opt/miniconda3/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",
" warnings.warn(\n",
"/Users/ashutoshrudraksh/opt/miniconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",
" warnings.warn(value)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Running on local URL: http://127.0.0.1:7861\n",
"\n",
"To create a public link, set `share=True` in `launch()`.\n"
]
},
{
"data": {
"text/html": [
""
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(, 'http://127.0.0.1:7861/', None)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/html": [
"\n",
"\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#!export\n",
"image = gr.inputs.Image(shape=(192,192))\n",
"label = gr.outputs.Label()\n",
"examples = ['dog.jpeg','cat.jpeg','duck.jpeg']\n",
"intf = gr.Interface(fn=classify_image,inputs=image, outputs=label,examples = examples)\n",
"intf.launch(inline=True)"
]
},
{
"cell_type": "markdown",
"id": "781db174",
"metadata": {},
"source": [
"## export"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "8fde046f",
"metadata": {},
"outputs": [],
"source": [
"from nbdev.export import notebook2script"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "72ec9bd1",
"metadata": {},
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[Errno 2] No such file or directory: '/Users/ashutoshrudraksh/minima101/nbdev/_nbdev.py'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"Input \u001b[0;32mIn [31]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mnotebook2script\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mapp.ipynb\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
"File \u001b[0;32m~/opt/miniconda3/lib/python3.9/site-packages/nbdev/export.py:372\u001b[0m, in \u001b[0;36mnotebook2script\u001b[0;34m(fname, silent, to_dict)\u001b[0m\n\u001b[1;32m 370\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m: files \u001b[38;5;241m=\u001b[39m glob\u001b[38;5;241m.\u001b[39mglob(fname)\n\u001b[1;32m 371\u001b[0m d \u001b[38;5;241m=\u001b[39m collections\u001b[38;5;241m.\u001b[39mdefaultdict(\u001b[38;5;28mlist\u001b[39m) \u001b[38;5;28;01mif\u001b[39;00m to_dict \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 372\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m f \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28msorted\u001b[39m(files): d \u001b[38;5;241m=\u001b[39m \u001b[43m_notebook2script\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msilent\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msilent\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mto_dict\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43md\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 373\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m to_dict: \u001b[38;5;28;01mreturn\u001b[39;00m d\n\u001b[1;32m 374\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m: add_init(Config()\u001b[38;5;241m.\u001b[39mlib_path)\n",
"File \u001b[0;32m~/opt/miniconda3/lib/python3.9/site-packages/nbdev/export.py:319\u001b[0m, in \u001b[0;36m_notebook2script\u001b[0;34m(fname, silent, to_dict)\u001b[0m\n\u001b[1;32m 317\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(fname_out, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124ma\u001b[39m\u001b[38;5;124m'\u001b[39m, encoding\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mutf8\u001b[39m\u001b[38;5;124m'\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f: f\u001b[38;5;241m.\u001b[39mwrite(code)\n\u001b[1;32m 318\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.py\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m mod\u001b[38;5;241m.\u001b[39mmodules: mod\u001b[38;5;241m.\u001b[39mmodules\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;132;01m{\u001b[39;00me\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.py\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m--> 319\u001b[0m \u001b[43msave_nbdev_module\u001b[49m\u001b[43m(\u001b[49m\u001b[43mmod\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 321\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m silent: \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConverted \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfname\u001b[38;5;241m.\u001b[39mname\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 322\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m to_dict\n",
"File \u001b[0;32m~/opt/miniconda3/lib/python3.9/site-packages/nbdev/export.py:275\u001b[0m, in \u001b[0;36msave_nbdev_module\u001b[0;34m(mod)\u001b[0m\n\u001b[1;32m 273\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mSave `mod` inside _nbdev \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 274\u001b[0m fname \u001b[38;5;241m=\u001b[39m Config()\u001b[38;5;241m.\u001b[39mlib_path\u001b[38;5;241m/\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_nbdev.py\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m--> 275\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mfname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[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[38;5;28;01mas\u001b[39;00m f: code \u001b[38;5;241m=\u001b[39m f\u001b[38;5;241m.\u001b[39mread()\n\u001b[1;32m 276\u001b[0m t \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mn \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin([\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mk\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m: \u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mv\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m k,v \u001b[38;5;129;01min\u001b[39;00m mod\u001b[38;5;241m.\u001b[39mindex\u001b[38;5;241m.\u001b[39mitems()])\n\u001b[1;32m 277\u001b[0m code \u001b[38;5;241m=\u001b[39m _re_index_idx\u001b[38;5;241m.\u001b[39msub(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mindex = \u001b[39m\u001b[38;5;124m{\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;241m+\u001b[39m t \u001b[38;5;241m+\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m}\u001b[39m\u001b[38;5;124m\"\u001b[39m, code)\n",
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/Users/ashutoshrudraksh/minima101/nbdev/_nbdev.py'"
]
}
],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "cf86c3e8",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.9.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|