CoolFace
Apppublic

paorph/figureIdentifier

sourceHugging Faceapache-2.0updated 3y agoView on Hugging Face
0likes
Untitled.ipynb404 linesDownload Raw Back to root
1{2 "cells": [3  {4   "cell_type": "code",5   "execution_count": 1,6   "id": "9baa324c",7   "metadata": {},8   "outputs": [],9   "source": [10    "#/export\n",11    "from fastai.vision.all import *\n",12    "import gradio as gr"13   ]14  },15  {16   "cell_type": "code",17   "execution_count": null,18   "id": "74b78a85",19   "metadata": {},20   "outputs": [],21   "source": []22  },23  {24   "cell_type": "code",25   "execution_count": 3,26   "id": "471a319d",27   "metadata": {},28   "outputs": [29    {30     "data": {31      "image/png": "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\n",32      "text/plain": [33       "PILImage mode=RGB size=192x192"34      ]35     },36     "execution_count": 3,37     "metadata": {},38     "output_type": "execute_result"39    }40   ],41   "source": [42    "im = PILImage.create('triangle.png')\n",43    "im.thumbnail((192,192))\n",44    "im"45   ]46  },47  {48   "cell_type": "code",49   "execution_count": 4,50   "id": "dad2cd78",51   "metadata": {},52   "outputs": [],53   "source": [54    "#/export\n",55    "learn = load_learner('model.pkl')"56   ]57  },58  {59   "cell_type": "code",60   "execution_count": 5,61   "id": "12606021",62   "metadata": {},63   "outputs": [64    {65     "data": {66      "text/html": [67       "\n",68       "<style>\n",69       "    /* Turns off some styling */\n",70       "    progress {\n",71       "        /* gets rid of default border in Firefox and Opera. */\n",72       "        border: none;\n",73       "        /* Needs to be in here for Safari polyfill so background images work as expected. */\n",74       "        background-size: auto;\n",75       "    }\n",76       "    progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",77       "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",78       "    }\n",79       "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",80       "        background: #F44336;\n",81       "    }\n",82       "</style>\n"83      ],84      "text/plain": [85       "<IPython.core.display.HTML object>"86      ]87     },88     "metadata": {},89     "output_type": "display_data"90    },91    {92     "data": {93      "text/html": [],94      "text/plain": [95       "<IPython.core.display.HTML object>"96      ]97     },98     "metadata": {},99     "output_type": "display_data"100    },101    {102     "name": "stderr",103     "output_type": "stream",104     "text": [105      "[W NNPACK.cpp:53] Could not initialize NNPACK! Reason: Unsupported hardware.\n"106     ]107    },108    {109     "data": {110      "text/plain": [111       "('triangle', tensor(2), tensor([2.5851e-06, 6.2617e-06, 9.9999e-01]))"112      ]113     },114     "execution_count": 5,115     "metadata": {},116     "output_type": "execute_result"117    }118   ],119   "source": [120    "learn.predict(im)"121   ]122  },123  {124   "cell_type": "code",125   "execution_count": 6,126   "id": "1e76d98e",127   "metadata": {},128   "outputs": [],129   "source": [130    "#/export\n",131    "categories = ('circle','square','triangle')\n",132    "def classify_image(img):\n",133    "    pred,idx, probs = learn.predict(img)\n",134    "    return dict(zip(categories, map(float, probs)))\n"135   ]136  },137  {138   "cell_type": "code",139   "execution_count": 7,140   "id": "9869cdde",141   "metadata": {},142   "outputs": [143    {144     "data": {145      "text/html": [146       "\n",147       "<style>\n",148       "    /* Turns off some styling */\n",149       "    progress {\n",150       "        /* gets rid of default border in Firefox and Opera. */\n",151       "        border: none;\n",152       "        /* Needs to be in here for Safari polyfill so background images work as expected. */\n",153       "        background-size: auto;\n",154       "    }\n",155       "    progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",156       "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",157       "    }\n",158       "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",159       "        background: #F44336;\n",160       "    }\n",161       "</style>\n"162      ],163      "text/plain": [164       "<IPython.core.display.HTML object>"165      ]166     },167     "metadata": {},168     "output_type": "display_data"169    },170    {171     "data": {172      "text/html": [],173      "text/plain": [174       "<IPython.core.display.HTML object>"175      ]176     },177     "metadata": {},178     "output_type": "display_data"179    },180    {181     "data": {182      "text/plain": [183       "{'circle': 2.5850843030639226e-06,\n",184       " 'square': 6.261673206608975e-06,\n",185       " 'triangle': 0.9999911785125732}"186      ]187     },188     "execution_count": 7,189     "metadata": {},190     "output_type": "execute_result"191    }192   ],193   "source": [194    "classify_image(im)"195   ]196  },197  {198   "cell_type": "code",199   "execution_count": 8,200   "id": "ac2dce5b",201   "metadata": {},202   "outputs": [203    {204     "name": "stderr",205     "output_type": "stream",206     "text": [207      "/opt/anaconda3/lib/python3.9/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",208      "  warnings.warn(\n",209      "/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: `optional` parameter is deprecated, and it has no effect\n",210      "  warnings.warn(value)\n",211      "/opt/anaconda3/lib/python3.9/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",212      "  warnings.warn(\n",213      "/opt/anaconda3/lib/python3.9/site-packages/gradio/deprecation.py:40: UserWarning: The 'type' parameter has been deprecated. Use the Number component instead.\n",214      "  warnings.warn(value)\n"215     ]216    },217    {218     "name": "stdout",219     "output_type": "stream",220     "text": [221      "Running on local URL:  http://127.0.0.1:7860\n",222      "Running on public URL: https://e1a7d2b87331062477.gradio.live\n",223      "\n",224      "This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces\n"225     ]226    },227    {228     "data": {229      "text/plain": []230     },231     "execution_count": 8,232     "metadata": {},233     "output_type": "execute_result"234    },235    {236     "data": {237      "text/html": [238       "\n",239       "<style>\n",240       "    /* Turns off some styling */\n",241       "    progress {\n",242       "        /* gets rid of default border in Firefox and Opera. */\n",243       "        border: none;\n",244       "        /* Needs to be in here for Safari polyfill so background images work as expected. */\n",245       "        background-size: auto;\n",246       "    }\n",247       "    progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",248       "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",249       "    }\n",250       "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",251       "        background: #F44336;\n",252       "    }\n",253       "</style>\n"254      ],255      "text/plain": [256       "<IPython.core.display.HTML object>"257      ]258     },259     "metadata": {},260     "output_type": "display_data"261    },262    {263     "data": {264      "text/html": [],265      "text/plain": [266       "<IPython.core.display.HTML object>"267      ]268     },269     "metadata": {},270     "output_type": "display_data"271    },272    {273     "data": {274      "text/html": [275       "\n",276       "<style>\n",277       "    /* Turns off some styling */\n",278       "    progress {\n",279       "        /* gets rid of default border in Firefox and Opera. */\n",280       "        border: none;\n",281       "        /* Needs to be in here for Safari polyfill so background images work as expected. */\n",282       "        background-size: auto;\n",283       "    }\n",284       "    progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",285       "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",286       "    }\n",287       "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",288       "        background: #F44336;\n",289       "    }\n",290       "</style>\n"291      ],292      "text/plain": [293       "<IPython.core.display.HTML object>"294      ]295     },296     "metadata": {},297     "output_type": "display_data"298    },299    {300     "data": {301      "text/html": [],302      "text/plain": [303       "<IPython.core.display.HTML object>"304      ]305     },306     "metadata": {},307     "output_type": "display_data"308    },309    {310     "data": {311      "text/html": [312       "\n",313       "<style>\n",314       "    /* Turns off some styling */\n",315       "    progress {\n",316       "        /* gets rid of default border in Firefox and Opera. */\n",317       "        border: none;\n",318       "        /* Needs to be in here for Safari polyfill so background images work as expected. */\n",319       "        background-size: auto;\n",320       "    }\n",321       "    progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",322       "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",323       "    }\n",324       "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",325       "        background: #F44336;\n",326       "    }\n",327       "</style>\n"328      ],329      "text/plain": [330       "<IPython.core.display.HTML object>"331      ]332     },333     "metadata": {},334     "output_type": "display_data"335    },336    {337     "data": {338      "text/html": [],339      "text/plain": [340       "<IPython.core.display.HTML object>"341      ]342     },343     "metadata": {},344     "output_type": "display_data"345    }346   ],347   "source": [348    "#/export\n",349    "image  = gr.inputs.Image(shape=(192,192))\n",350    "label = gr.outputs.Label()\n",351    "examples = ['circle.png','square.png','triangle.png']\n",352    "\n",353    "intf = gr.Interface(fn=classify_image, inputs = image, outputs = label, examples = examples)\n",354    "intf.launch(inline=False, share = True)"355   ]356  },357  {358   "cell_type": "code",359   "execution_count": null,360   "id": "1325c6a3",361   "metadata": {},362   "outputs": [],363   "source": []364  },365  {366   "cell_type": "code",367   "execution_count": null,368   "id": "cae379d6",369   "metadata": {},370   "outputs": [],371   "source": []372  },373  {374   "cell_type": "code",375   "execution_count": null,376   "id": "8c1e72c1",377   "metadata": {},378   "outputs": [],379   "source": []380  }381 ],382 "metadata": {383  "kernelspec": {384   "display_name": "Python 3 (ipykernel)",385   "language": "python",386   "name": "python3"387  },388  "language_info": {389   "codemirror_mode": {390    "name": "ipython",391    "version": 3392   },393   "file_extension": ".py",394   "mimetype": "text/x-python",395   "name": "python",396   "nbconvert_exporter": "python",397   "pygments_lexer": "ipython3",398   "version": "3.9.7"399  }400 },401 "nbformat": 4,402 "nbformat_minor": 5403}404