{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "c:\\Users\\USER\\Desktop\\WorkSpace\\MasterCourse\\scripts\\capstone project 2\\Shoe-Type-Recognizer\\venv\\lib\\site-packages\\tqdm\\auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] } ], "source": [ "from fastai.vision.all import load_learner\n", "from fastai.vision.all import PILImage\n", "import gradio as gr" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import pathlib\n", "temp = pathlib.PosixPath\n", "pathlib.PosixPath = pathlib.WindowsPath" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "model = load_learner('shoes-recognizer-v4.pkl')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "#!export\n", "shoe_labels = (\n", " 'Army boots',\n", " 'Ballet flats', \n", " 'Basketball shoes',\n", " 'Brogues',\n", " 'Chelsea Boot',\n", " 'Chuck Taylor',\n", " 'Climbing shoes',\n", " 'Cone heels',\n", " 'Court shoes',\n", " 'Cowboy boots',\n", " 'Derby shoes',\n", " 'Dress shoe',\n", " 'Flip flop',\n", " 'Golf shoes',\n", " 'High heels',\n", " 'High-tops shoes',\n", " 'Hiking boots',\n", " 'Ice-skates shoes',\n", " 'Kitten heels',\n", " 'Knee high boots', \n", " 'Laced booties',\n", " 'Lita shoe',\n", " 'Loafer',\n", " 'Mary Jane platforms',\n", " 'Moccasin',\n", " 'Mule shoes',\n", " 'Old skool',\n", " 'Oxford shoe',\n", " 'Platform heels',\n", " 'Running shoes',\n", " 'Sandal',\n", " 'Sneakers ',\n", " 'Soccer shoes',\n", " 'Uggs',\n", " 'Wedges shoe',\n", " 'Wellington boots'\n", ")\n", "\n", "def recognize_image(image):\n", " pred, idx, probs = model.predict(image)\n", " print(pred, probs)\n", " return dict(zip(shoe_labels, map(float, probs)))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "image/png": "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", "text/plain": [ "PILImage mode=RGB size=192x192" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "img = PILImage.create(f'image-01.jpg')\n", "img.thumbnail((192,192))\n", "img" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Army boots tensor([9.9534e-01, 6.6745e-07, 2.7946e-05, 4.6439e-07, 8.5000e-07, 1.9539e-06,\n", " 1.9182e-05, 4.1536e-07, 4.8163e-07, 2.0532e-05, 4.2236e-07, 3.7513e-08,\n", " 8.4607e-07, 1.7847e-05, 1.0798e-04, 4.6415e-04, 3.5177e-03, 1.5300e-05,\n", " 2.4203e-07, 4.3307e-05, 3.7628e-05, 1.5838e-05, 3.8547e-07, 1.6339e-06,\n", " 8.6669e-06, 1.7185e-09, 1.4663e-06, 1.0363e-06, 1.3505e-04, 4.8500e-06,\n", " 2.4733e-06, 4.3966e-06, 3.8433e-05, 2.3730e-05, 5.8067e-06, 1.3946e-04])\n" ] }, { "data": { "text/plain": [ "{'Army boots': 0.9953387975692749,\n", " 'Ballet flats': 6.674546852991625e-07,\n", " 'Basketball shoes': 2.7945659894612618e-05,\n", " 'Brogues': 4.643915758606454e-07,\n", " 'Chelsea Boot': 8.50004255426029e-07,\n", " 'Chuck Taylor': 1.953886567207519e-06,\n", " 'Climbing shoes': 1.918196903716307e-05,\n", " 'Cone heels': 4.1535633954481455e-07,\n", " 'Court shoes': 4.816292857867666e-07,\n", " 'Cowboy boots': 2.0531964764813893e-05,\n", " 'Derby shoes': 4.223589940011152e-07,\n", " 'Dress shoe': 3.75131357088776e-08,\n", " 'Flip flop': 8.460736466986418e-07,\n", " 'Golf shoes': 1.7847174603957683e-05,\n", " 'High heels': 0.00010797676077345386,\n", " 'High-tops shoes': 0.00046415452379733324,\n", " 'Hiking boots': 0.003517678938806057,\n", " 'Ice-skates shoes': 1.5299558072001673e-05,\n", " 'Kitten heels': 2.4202694248742773e-07,\n", " 'Knee high boots': 4.330678711994551e-05,\n", " 'Laced booties': 3.76277748728171e-05,\n", " 'Lita shoe': 1.5837556929909624e-05,\n", " 'Loafer': 3.85474692166099e-07,\n", " 'Mary Jane platforms': 1.6338588011421962e-06,\n", " 'Moccasin': 8.666859685035888e-06,\n", " 'Mule shoes': 1.7184587086660486e-09,\n", " 'Old skool': 1.4663244201074122e-06,\n", " 'Oxford shoe': 1.0362574585087714e-06,\n", " 'Platform heels': 0.00013505437527783215,\n", " 'Running shoes': 4.850002369494177e-06,\n", " 'Sandal': 2.473293761795503e-06,\n", " 'Sneakers ': 4.396596978040179e-06,\n", " 'Soccer shoes': 3.843283775495365e-05,\n", " 'Uggs': 2.372959534113761e-05,\n", " 'Wedges shoe': 5.806686203868594e-06,\n", " 'Wellington boots': 0.0001394600694766268}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recognize_image(img)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_27716\\498370115.py:1: GradioDeprecationWarning: Usage of gradio.inputs is deprecated, and will not be supported in the future, please import your component from gradio.components\n", " image = gr.inputs.Image(shape=(192,192))\n", "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_27716\\498370115.py:1: GradioDeprecationWarning: `optional` parameter is deprecated, and it has no effect\n", " image = gr.inputs.Image(shape=(192,192))\n", "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_27716\\498370115.py:2: GradioDeprecationWarning: Usage of gradio.outputs is deprecated, and will not be supported in the future, please import your components from gradio.components\n", " label = gr.outputs.Label(num_top_classes=5)\n", "C:\\Users\\USER\\AppData\\Local\\Temp\\ipykernel_27716\\498370115.py:2: GradioUnusedKwargWarning: You have unused kwarg parameters in Label, please remove them: {'type': 'auto'}\n", " label = gr.outputs.Label(num_top_classes=5)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Running on local URL: http://127.0.0.1:7862\n", "Running on public URL: https://03b7f2d43d8c98bf5d.gradio.live\n", "\n", "This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)\n" ] }, { "data": { "text/plain": [] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "image = gr.inputs.Image(shape=(192,192))\n", "label = gr.outputs.Label(num_top_classes=5)\n", "examples = [\n", " 'image-01.jpg',\n", " 'image-02.jpg',\n", " 'image-03.jpg',\n", " 'image-06.jpg',\n", " 'image-07.jpg',\n", " 'image-08.jpg',\n", " 'image-09.jpg',\n", " 'image-10.jpg' \n", " ]\n", "\n", "iface = gr.Interface(fn=recognize_image, inputs=image, outputs=label, examples=examples)\n", "iface.launch(inline=False, share=True)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "^C\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "This application is used to convert notebook files (*.ipynb)\n", " to various other formats.\n", "\n", " WARNING: THE COMMANDLINE INTERFACE MAY CHANGE IN FUTURE RELEASES.\n", "\n", "Options\n", "=======\n", "The options below are convenience aliases to configurable class-options,\n", "as listed in the \"Equivalent to\" description-line of the aliases.\n", "To see all configurable class-options for some , use:\n", " --help-all\n", "\n", "--debug\n", " set log level to logging.DEBUG (maximize logging output)\n", " Equivalent to: [--Application.log_level=10]\n", "--show-config\n", " Show the application's configuration (human-readable format)\n", " Equivalent to: [--Application.show_config=True]\n", "--show-config-json\n", " Show the application's configuration (json format)\n", " Equivalent to: [--Application.show_config_json=True]\n", "--generate-config\n", " generate default config file\n", " Equivalent to: [--JupyterApp.generate_config=True]\n", "-y\n", " Answer yes to any questions instead of prompting.\n", " Equivalent to: [--JupyterApp.answer_yes=True]\n", "--execute\n", " Execute the notebook prior to export.\n", " Equivalent to: [--ExecutePreprocessor.enabled=True]\n", "--allow-errors\n", " Continue notebook execution even if one of the cells throws an error and include the error message in the cell output (the default behaviour is to abort conversion). This flag is only relevant if '--execute' was specified, too.\n", " Equivalent to: [--ExecutePreprocessor.allow_errors=True]\n", "--stdin\n", " read a single notebook file from stdin. Write the resulting notebook with default basename 'notebook.*'\n", " Equivalent to: [--NbConvertApp.from_stdin=True]\n", "--stdout\n", " Write notebook output to stdout instead of files.\n", " Equivalent to: [--NbConvertApp.writer_class=StdoutWriter]\n", "--inplace\n", " Run nbconvert in place, overwriting the existing notebook (only\n", " relevant when converting to notebook format)\n", " Equivalent to: [--NbConvertApp.use_output_suffix=False --NbConvertApp.export_format=notebook --FilesWriter.build_directory=]\n", "--clear-output\n", " Clear output of current file and save in place,\n", " overwriting the existing notebook.\n", " Equivalent to: [--NbConvertApp.use_output_suffix=False --NbConvertApp.export_format=notebook --FilesWriter.build_directory= --ClearOutputPreprocessor.enabled=True]\n", "--no-prompt\n", " Exclude input and output prompts from converted document.\n", " Equivalent to: [--TemplateExporter.exclude_input_prompt=True --TemplateExporter.exclude_output_prompt=True]\n", "--no-input\n", " Exclude input cells and output prompts from converted document.\n", " This mode is ideal for generating code-free reports.\n", " Equivalent to: [--TemplateExporter.exclude_output_prompt=True --TemplateExporter.exclude_input=True --TemplateExporter.exclude_input_prompt=True]\n", "--allow-chromium-download\n", " Whether to allow downloading chromium if no suitable version is found on the system.\n", " Equivalent to: [--WebPDFExporter.allow_chromium_download=True]\n", "--disable-chromium-sandbox\n", " Disable chromium security sandbox when converting to PDF..\n", " Equivalent to: [--WebPDFExporter.disable_sandbox=True]\n", "--show-input\n", " Shows code input. This flag is only useful for dejavu users.\n", " Equivalent to: [--TemplateExporter.exclude_input=False]\n", "--embed-images\n", " Embed the images as base64 dataurls in the output. This flag is only useful for the HTML/WebPDF/Slides exports.\n", " Equivalent to: [--HTMLExporter.embed_images=True]\n", "--sanitize-html\n", " Whether the HTML in Markdown cells and cell outputs should be sanitized..\n", " Equivalent to: [--HTMLExporter.sanitize_html=True]\n", "--log-level=\n", " Set the log level by value or name.\n", " Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']\n", " Default: 30\n", " Equivalent to: [--Application.log_level]\n", "--config=\n", " Full path of a config file.\n", " Default: ''\n", " Equivalent to: [--JupyterApp.config_file]\n", "--to=\n", " The export format to be used, either one of the built-in formats\n", " ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'qtpdf', 'qtpng', 'rst', 'script', 'slides', 'webpdf']\n", " or a dotted object name that represents the import path for an\n", " ``Exporter`` class\n", " Default: ''\n", " Equivalent to: [--NbConvertApp.export_format]\n", "--template=\n", " Name of the template to use\n", " Default: ''\n", " Equivalent to: [--TemplateExporter.template_name]\n", "--template-file=\n", " Name of the template file to use\n", " Default: None\n", " Equivalent to: [--TemplateExporter.template_file]\n", "--theme=\n", " Template specific theme(e.g. the name of a JupyterLab CSS theme distributed\n", " as prebuilt extension for the lab template)\n", " Default: 'light'\n", " Equivalent to: [--HTMLExporter.theme]\n", "--sanitize_html=\n", " Whether the HTML in Markdown cells and cell outputs should be sanitized.This\n", " should be set to True by nbviewer or similar tools.\n", " Default: False\n", " Equivalent to: [--HTMLExporter.sanitize_html]\n", "--writer=\n", " Writer class used to write the\n", " results of the conversion\n", " Default: 'FilesWriter'\n", " Equivalent to: [--NbConvertApp.writer_class]\n", "--post=\n", " PostProcessor class used to write the\n", " results of the conversion\n", " Default: ''\n", " Equivalent to: [--NbConvertApp.postprocessor_class]\n", "--output=\n", " overwrite base name use for output files.\n", " can only be used when converting one notebook at a time.\n", " Default: ''\n", " Equivalent to: [--NbConvertApp.output_base]\n", "--output-dir=\n", " Directory to write output(s) to. Defaults\n", " to output to the directory of each notebook. To recover\n", " previous default behaviour (outputting to the current\n", " working directory) use . as the flag value.\n", " Default: ''\n", " Equivalent to: [--FilesWriter.build_directory]\n", "--reveal-prefix=\n", " The URL prefix for reveal.js (version 3.x).\n", " This defaults to the reveal CDN, but can be any url pointing to a copy\n", " of reveal.js.\n", " For speaker notes to work, this must be a relative path to a local\n", " copy of reveal.js: e.g., \"reveal.js\".\n", " If a relative path is given, it must be a subdirectory of the\n", " current directory (from which the server is run).\n", " See the usage documentation\n", " (https://nbconvert.readthedocs.io/en/latest/usage.html#reveal-js-html-slideshow)\n", " for more details.\n", " Default: ''\n", " Equivalent to: [--SlidesExporter.reveal_url_prefix]\n", "--nbformat=\n", " The nbformat version to write.\n", " Use this to downgrade notebooks.\n", " Choices: any of [1, 2, 3, 4]\n", " Default: 4\n", " Equivalent to: [--NotebookExporter.nbformat_version]\n", "\n", "Examples\n", "--------\n", "\n", " The simplest way to use nbconvert is\n", "\n", " > jupyter nbconvert mynotebook.ipynb --to html\n", "\n", " Options include ['asciidoc', 'custom', 'html', 'latex', 'markdown', 'notebook', 'pdf', 'python', 'qtpdf', 'qtpng', 'rst', 'script', 'slides', 'webpdf'].\n", "\n", " > jupyter nbconvert --to latex mynotebook.ipynb\n", "\n", " Both HTML and LaTeX support multiple output templates. LaTeX includes\n", " 'base', 'article' and 'report'. HTML includes 'basic', 'lab' and\n", " 'classic'. You can specify the flavor of the format used.\n", "\n", " > jupyter nbconvert --to html --template lab mynotebook.ipynb\n", "\n", " You can also pipe the output to stdout, rather than a file\n", "\n", " > jupyter nbconvert mynotebook.ipynb --stdout\n", "\n", " PDF is generated via latex\n", "\n", " > jupyter nbconvert mynotebook.ipynb --to pdf\n", "\n", " You can get (and serve) a Reveal.js-powered slideshow\n", "\n", " > jupyter nbconvert myslides.ipynb --to slides --post serve\n", "\n", " Multiple notebooks can be given at the command line in a couple of\n", " different ways:\n", "\n", " > jupyter nbconvert notebook*.ipynb\n", " > jupyter nbconvert notebook1.ipynb notebook2.ipynb\n", "\n", " or you can specify the notebooks list in a config file, containing::\n", "\n", " c.NbConvertApp.notebooks = [\"my_notebook.ipynb\"]\n", "\n", " > jupyter nbconvert --config mycfg.py\n", "\n", "To see all available configurables, use `--help-all`.\n", "\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[NbConvertApp] WARNING | pattern 'appNB.ipynb' matched no files\n" ] } ], "source": [ "# !jupyter nbconvert --to script appNB.ipynb" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.5" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }