{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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",
"image/png": "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",
"text/plain": [
"PILImage mode=RGB size=128x48"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#|default_exp app\n",
"#|export\n",
"import gradio as gr\n",
"from fastai.vision.all import *\n",
"\n",
"def is_cat(x): return x[0].isupper()\n",
"\n",
"im = PILImage.create(\"dog.jpg\")\n",
"im.thumbnail((128,128))\n",
"im"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#|export\n",
"learn = load_learner('model.pkl')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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', TensorImage(0), TensorImage([1.0000e+00, 3.4118e-07]))"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"learn.predict(im)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"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": 5,
"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.9999996423721313, 'Cat': 3.4117789482479566e-07}"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"classify_image(im)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"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": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#|export\n",
"examples = ['dog.jpg', 'cat.jpg', 'dunno.jpg']\n",
"\n",
"intf = gr.Interface(fn=classify_image, inputs=\"image\", outputs=\"label\", examples=examples)\n",
"intf.launch(inline=False)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"from nbdev.export import nb_export\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"nb_export('notebook.ipynb', './')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"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.10.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}