{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "1587b6c6", "metadata": {}, "outputs": [], "source": [ "from fastai.vision.all import *\n", "import gradio as gr\n", "\n", "learn = load_learner('watersports.pkl')\n", "categories = learn.dls.vocab" ] }, { "cell_type": "code", "execution_count": 29, "id": "066f65b3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on local URL: http://127.0.0.1:7875/\n", "\n", "To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/plain": [ "(,\n", " 'http://127.0.0.1:7875/',\n", " None)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "\n", "def classify_image(img):\n", " pred,idx,probs = learn.predict(img)\n", " return( dict(zip(categories, map(float,probs))))\n", "\n", "title = \"Which Watersport?\"\n", "description = \"Drag an image into the analyser. Try to guess the water sport yourself, before hitting submit. \\\n", "You need to clear before dragging next image. You can also drag images directly from a google search.\"\n", "image = gr.inputs.Image(shape=(192,192))\n", "label = gr.outputs.Label()\n", "examples = './examples'\n", "\n", "iface = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples, title=title, description=description)\n", "iface.launch(inline=False)" ] }, { "cell_type": "code", "execution_count": null, "id": "165054fe", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [conda env:root] *", "language": "python", "name": "conda-root-py" }, "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.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }