{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "dcad9070", "metadata": {}, "outputs": [], "source": [ "#|default_exp app" ] }, { "cell_type": "code", "execution_count": 1, "id": "b0d51b0e", "metadata": {}, "outputs": [], "source": [ "#|export\n", "from fastai.vision.all import *\n", "import gradio as gr" ] }, { "cell_type": "code", "execution_count": 61, "id": "0253652f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "PILImage mode=RGB size=192x145" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im = PILImage.create('leg_glance2.jpg')\n", "im.thumbnail((192,192))\n", "im" ] }, { "cell_type": "code", "execution_count": 39, "id": "41e52ca1", "metadata": {}, "outputs": [], "source": [ "# def search_images(term, max_images=30):\n", "# url = 'https://duckduckgo.com/'\n", "# res = urlread(url,data={'q':term})\n", "# searchObj = re.search(r'vqd=([\\d-]+)\\&', res)\n", "# requestUrl = url + 'i.js'\n", "# params = dict(l='us-en', o='json', q=term, vqd=searchObj.group(1), f=',,,', p='1', v7exp='a')\n", "# urls,data = set(),{'next':1}\n", "# while len(urls)\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-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n", " background: #F44336;\n", " }\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "{'off side': 0.0009938485454767942, 'on side': 0.9990062117576599}" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classify_image(im)" ] }, { "cell_type": "code", "execution_count": 16, "id": "2789ad64", "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": [ "(,\n", " 'http://127.0.0.1:7860/',\n", " None)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "name": "stderr", "output_type": "stream", "text": [ "ERROR: Exception in ASGI application\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 318, in __call__\n", " stat_result = await anyio.to_thread.run_sync(os.stat, self.path)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/to_thread.py\", line 31, in run_sync\n", " return await get_asynclib().run_sync_in_worker_thread(\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 937, in run_sync_in_worker_thread\n", " return await future\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 867, in run\n", " result = context.run(func, *args)\n", "FileNotFoundError: [Errno 2] No such file or directory: '/mnt/z/Documents1/Repositories/onside_offside_shot_detector/bench_press.jpg'\n", "\n", "During handling of the above exception, another exception occurred:\n", "\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py\", line 366, in run_asgi\n", " result = await app(self.scope, self.receive, self.send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py\", line 75, in __call__\n", " return await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/applications.py\", line 269, in __call__\n", " await super().__call__(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/applications.py\", line 124, in __call__\n", " await self.middleware_stack(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 184, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 162, in __call__\n", " await self.app(scope, receive, _send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/cors.py\", line 84, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 93, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 82, in __call__\n", " await self.app(scope, receive, sender)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 21, in __call__\n", " raise e\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 18, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 670, in __call__\n", " await route.handle(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 266, in handle\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 68, in app\n", " await response(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 321, in __call__\n", " raise RuntimeError(f\"File at path {self.path} does not exist.\")\n", "RuntimeError: File at path /mnt/z/Documents1/Repositories/onside_offside_shot_detector/bench_press.jpg does not exist.\n", "ERROR: Exception in ASGI application\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 318, in __call__\n", " stat_result = await anyio.to_thread.run_sync(os.stat, self.path)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/to_thread.py\", line 31, in run_sync\n", " return await get_asynclib().run_sync_in_worker_thread(\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 937, in run_sync_in_worker_thread\n", " return await future\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 867, in run\n", " result = context.run(func, *args)\n", "FileNotFoundError: [Errno 2] No such file or directory: '/mnt/z/Documents1/Repositories/onside_offside_shot_detector/deadlift.jpg'\n", "\n", "During handling of the above exception, another exception occurred:\n", "\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py\", line 366, in run_asgi\n", " result = await app(self.scope, self.receive, self.send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py\", line 75, in __call__\n", " return await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/applications.py\", line 269, in __call__\n", " await super().__call__(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/applications.py\", line 124, in __call__\n", " await self.middleware_stack(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 184, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 162, in __call__\n", " await self.app(scope, receive, _send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/cors.py\", line 84, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 93, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 82, in __call__\n", " await self.app(scope, receive, sender)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 21, in __call__\n", " raise e\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 18, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 670, in __call__\n", " await route.handle(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 266, in handle\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 68, in app\n", " await response(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 321, in __call__\n", " raise RuntimeError(f\"File at path {self.path} does not exist.\")\n", "RuntimeError: File at path /mnt/z/Documents1/Repositories/onside_offside_shot_detector/deadlift.jpg does not exist.\n", "ERROR: Exception in ASGI application\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 318, in __call__\n", " stat_result = await anyio.to_thread.run_sync(os.stat, self.path)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/to_thread.py\", line 31, in run_sync\n", " return await get_asynclib().run_sync_in_worker_thread(\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 937, in run_sync_in_worker_thread\n", " return await future\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/anyio/_backends/_asyncio.py\", line 867, in run\n", " result = context.run(func, *args)\n", "FileNotFoundError: [Errno 2] No such file or directory: '/mnt/z/Documents1/Repositories/onside_offside_shot_detector/lateral_raise.jpg'\n", "\n", "During handling of the above exception, another exception occurred:\n", "\n", "Traceback (most recent call last):\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/protocols/http/h11_impl.py\", line 366, in run_asgi\n", " result = await app(self.scope, self.receive, self.send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py\", line 75, in __call__\n", " return await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/applications.py\", line 269, in __call__\n", " await super().__call__(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/applications.py\", line 124, in __call__\n", " await self.middleware_stack(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 184, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/errors.py\", line 162, in __call__\n", " await self.app(scope, receive, _send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/middleware/cors.py\", line 84, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 93, in __call__\n", " raise exc\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/exceptions.py\", line 82, in __call__\n", " await self.app(scope, receive, sender)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 21, in __call__\n", " raise e\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py\", line 18, in __call__\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 670, in __call__\n", " await route.handle(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 266, in handle\n", " await self.app(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/routing.py\", line 68, in app\n", " await response(scope, receive, send)\n", " File \"/home/zac-ubuntu-wsl/mambaforge/lib/python3.9/site-packages/starlette/responses.py\", line 321, in __call__\n", " raise RuntimeError(f\"File at path {self.path} does not exist.\")\n", "RuntimeError: File at path /mnt/z/Documents1/Repositories/onside_offside_shot_detector/lateral_raise.jpg does not exist.\n" ] }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "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 = ['bench_press.jpg', 'deadlift.jpg', 'lateral_raise.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": 8, "id": "06dd273a", "metadata": {}, "outputs": [], "source": [ "#pip install nbdev\n", "from nbdev.export import notebook2script" ] }, { "cell_type": "code", "execution_count": 18, "id": "fe3628e5", "metadata": {}, "outputs": [], "source": [ "notebook2script('app.pynb')" ] }, { "cell_type": "code", "execution_count": null, "id": "3d84efa6", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "interpreter": { "hash": "1cc00754fef6b3add70ae5c9c7fbd78954fc8b6bbb919f91eaedfd0a199a67e5" }, "kernelspec": { "display_name": "Python 3.9.10 ('base')", "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.12" } }, "nbformat": 4, "nbformat_minor": 5 }