{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "18acb717", "metadata": {}, "outputs": [], "source": [ "#|default_exp app" ] }, { "cell_type": "code", "execution_count": 1, "id": "44eb0ad3", "metadata": {}, "outputs": [], "source": [ "#|export\n", "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": null, "id": "d838c0b3", "metadata": {}, "outputs": [], "source": [ "path = untar_data(URLs.PETS)/'images'\n", "\n", "dls = ImageDataLoaders.from_name_func('.',\n", " get_image_files(path), valid_pct=0.2, seed=42,\n", " label_func=is_cat,\n", " item_tfms=Resize(192, method='squish'))" ] }, { "cell_type": "code", "execution_count": null, "id": "c107f724", "metadata": {}, "outputs": [], "source": [ "learn = vision_learner(dls, resnet18, metrics=error_rate)\n", "learn.fine_tune(3)" ] }, { "cell_type": "code", "execution_count": null, "id": "bed928f3", "metadata": {}, "outputs": [], "source": [ "path = untar_data(URLs.PETS)/'images'\n", "\n", "dls = ImageDataLoaders.from_name_func('.',\n", " get_image_files(path), valid_pct=0.2, seed=42,\n", " label_func=is_cat,\n", " item_tfms=Resize(192))" ] }, { "cell_type": "code", "execution_count": null, "id": "7e56b200", "metadata": {}, "outputs": [], "source": [ "learn = vision_learner(dls, resnet18, metrics=error_rate).to_fp16()\n", "learn.fine_tune(3)" ] }, { "cell_type": "code", "execution_count": null, "id": "5171c7fc", "metadata": {}, "outputs": [], "source": [ "learn.export('model.pkl')" ] }, { "cell_type": "code", "execution_count": 2, "id": "3295ef11", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "PILImage mode=RGB size=149x192" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im = PILImage.create('data_test/dell 20.jpg')\n", "im.thumbnail((192,192))\n", "im" ] }, { "cell_type": "code", "execution_count": 3, "id": "ae2bc6ac", "metadata": {}, "outputs": [], "source": [ "#|export\n", "learn = load_learner('export.pkl')" ] }, { "cell_type": "code", "execution_count": 8, "id": "6e0bf9da", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('desktop pc', tensor(0), tensor([9.9071e-01, 8.5827e-03, 7.1094e-04]))" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "learn.predict(im)" ] }, { "cell_type": "code", "execution_count": 11, "id": "0419ed3a", "metadata": {}, "outputs": [], "source": [ "#|export\n", "categories = ('desktop pc','laptop','mobile phone')\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": 12, "id": "762dec00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'desktop pc': 0.9907063841819763,\n", " 'laptop': 0.00858269166201353,\n", " 'mobile phone': 0.0007109376601874828}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classify_image(im)" ] }, { "cell_type": "code", "execution_count": 13, "id": "0518a30a", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/demonhunter/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", " warnings.warn(\n", "/home/demonhunter/mambaforge/lib/python3.10/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n", " warnings.warn(value)\n", "/home/demonhunter/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", " warnings.warn(\n", "/home/demonhunter/mambaforge/lib/python3.10/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/plain": [] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#|export\n", "image = gr.inputs.Image(shape=(192, 192))\n", "label = gr.outputs.Label()\n", "examples = ['dell 20.jpg', 'dell inspiron.jpg', 'desktop pc on table.jpg']\n", "\n", "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n", "intf.launch(inline=False)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "0d1e90ce", "metadata": {}, "source": [ "## end -" ] } ], "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.10" } }, "nbformat": 4, "nbformat_minor": 5 }