File size: 26,464 Bytes
8fae8d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "code",
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "VHha5UmeC-9y",
        "outputId": "5545c9d6-174c-450a-ade6-9c6bc21b5696"
      },
      "execution_count": 57,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "%cd /content/drive/MyDrive/Fruit_Recognizer"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "A9WRi6HVDDuY",
        "outputId": "4c216d21-4ebf-485f-ea3f-8dc21353831c"
      },
      "execution_count": 58,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "/content/drive/MyDrive/Fruit_Recognizer\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 59,
      "metadata": {
        "id": "SWpRA6v7QI_R"
      },
      "outputs": [],
      "source": [
        "!pip install -Uqq fastai gradio nbdev"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from fastai.vision.all import *\n",
        "from fastai.vision.all import load_learner\n",
        "import gradio as gr"
      ],
      "metadata": {
        "id": "OpUS3z3MQgZ0"
      },
      "execution_count": 60,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "model=load_learner(\"models/fruit_model_v6.pkl\")"
      ],
      "metadata": {
        "id": "7J-MaltBP0_f"
      },
      "execution_count": 61,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "fruit_labels = ('Apple', 'Apricot', 'Avocado',\n",
        "                'Banana', 'Blueberry',\n",
        "                'Carambola', 'Cherry', 'Fig',\n",
        "                'Grape', 'Kiwi', 'Lemon',\n",
        "                'Lychee', 'Mango',\n",
        "                'Orange', 'Papaya',\n",
        "                'Pear', 'Pineapple',\n",
        "                'Raspberry', 'Strawberry', 'Watermelon')\n",
        "\n",
        "\n",
        "def recognize_image(image):\n",
        "  pred, idx, probs = model.predict(image)\n",
        "  print(pred)\n",
        "  return dict(zip(fruit_labels, map(float, probs)))"
      ],
      "metadata": {
        "id": "lVtVhZtzQgc3"
      },
      "execution_count": 62,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "img = PILImage.create(f'test_images/test_0.jpg')\n",
        "img.thumbnail((192,192))\n",
        "img"
      ],
      "metadata": {
        "id": "TqVA9jzPQgfy",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 145
        },
        "outputId": "f058714e-afb7-4875-e421-41da25112aeb"
      },
      "execution_count": 63,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "PILImage mode=RGB size=192x128"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMAAAACACAIAAADS5vE8AAAx/UlEQVR4nO29ebRlV30e+H2/vc+99716VaWqkoSExDwJMZhBtgHjhJAEG690285gO7HTiR3cHa847fS0utvLq9Mkqzt2VkjsrDjtYTlpxzbdThyI3R7SgI2dOEBjEBgBAoFAUIBKKtX06r07nLP37+s/9j7n3ldI4lWVhlLV/a3S0x3P2fec7/yG7zccSsJa1nKpYk/2Atby1JY1gNZyWbIG0FouS9YAWstlSXyyF7CWJ1T6iEkUQQFykAAAioBAANz/BtcAuial4ogAOWAKDoAXgx6sAXStSUGHyK6bmSdZoFzuFiKbTQGErzXQWi4UyQlzb2dn71vMHugWJxbn7smz82m2Ozr0TGWfnjm+dcvrbnzRt04mRwWHyP3ZMq6JxGtB5C5q9pX/+/xXfqWdnsrtjM0hzdGdO3nkmV+X8pFzZ0/Lt8L4uo2bX/20F33HaLQF7EsTrQF0TYiE3J7Zufe/VHcqgdlD1009zbFoMVt4QpdGebaxmE8Xqdm4+U8+9/U/fODo8/djydYm7BoRh3YzzwFZnLiFEA8jHOj8VJpNfbbdnt2dn0AnZnD+wBc+9vk/uOMH/v3o4NO+5nbXALo2hEQwxV3PZ6WbiXE2psSFKzlcJsTFud2OYZECOL3p6c8Nk8P72fCaSLxGxM0OIHTgGWBbmDo9sW01m2O+QNpp08LRdXbyy7N4y5970ff8vDWT/Wx3rYGuDRGB6BYyW4YF8hygbOZoO2/b1M67PHWm3cXmC17xTX/z5ze2jgLajxe9BtC1IaQgdzkQKAaZZ+TOlWZKu/J5VHcD5kf4p7/nf9o8eKM8wfaFjTWArhGhME/acSXQARc690Xr811P28o7kYutfOiGl9z83DdLEsykPsnxaLIG0LUiyrtJD4FOJCJlpZRnracWvgOdk5+SnvP0PzseHwIE2D7p6DWArgkhkLvjOe8YgqujWhc6tZ28g8+Is8FPKz7zGW8oH9+H6qmyjsKuFWnTF9ynAKTkWqQ069KiU+qgKXXO3TaO3XLj113sZtcAulakaz8tyeREdnmXFykv2pwX0lxauK4/fNvRradfbF5ibcKuFVks7jHAIUBZ3nq7yKlzdUIW5hnPv+mOEJqL3exaA10T4nmWunspAyQgS62nLnsWsphcGXjeza8EsKw525+sAXRNSErHu/bzACgjgovZszsEZKdDG6ONZ1z/QvQlifuXNYCuCekWH2feJkZiyApZXXbP7i451Hk+snHT9VvPgsC1BlrLIIIACFjM/xC5AwV4VtflWcopQw5lKQvXX/esA5OjUtYaQGtZiiBAntrZnZDJPQud5y51njPc4JYdEI4dekaouYu1CVtLL4QI5PaebvYJ0Bxsgc6VkrJbKaMXBceNh55ZvnCxTvQ6jL/KRUA3/aC6MxlIjk7ouq5LSRkOObLgmTg8vhUAaRergdYAuppFdLimO7/pnjNC69Ym69qcUpbTgQQIyMTG6BCAi0UP1gC62iWmxWcWO38IZxLmCTnF1EnZXHIxCx1IcNxsXuIOHtv1ruWKEgKz3Xdo/kCWuSNntq2nNues7Mru7iyGK9jo0naxBtDVLCmdnT30y5boZJfl2TzlnHPK6LI6KTmSK0vaf/59r6wBdDVLe/adeedTjqDkHZiTctelrDZx4WqFnBUEKxVmlyRrAF2FImUxqH1ocfKfmqfk5iIR1OXcqk1cZHRCgkxqFKJz3u0A+yyD3iNrHugqlMLmpFM/47sfNSeEwDDOISShg3dQZt/NA7jTdWbniwAEv9g+07UGuhqFQTv/qXvonzYIIM1CVBwlNdkMKYIZDA5CEBrXhHjwoY8BAJwXqVPWALp6RBLgzoDF8cUDPxrylDb2wAk2tUjyKaURowLo5aMyhoicAra3P9l1bYxWBgftf6drAF09Qkoy5vPdgz/WnP9kZxuw1NiGp0BPEWyMaqKJlhU8Ne7Jc6ZGtO3znz21fc9Nx14qXVxBxxpAV4MITpkIyfPJn8C5dytGwwgMGUHaVe5MGIVIRoOFoImz89Rld+eYDItzJ0+8/6ZjLyUvzpFeO9FPfVGxXlkwP/uL6fTbaQ1sEmiw6IB3s4AcQxzFZtyMNmI4EMOB2Gw1zcFmdCg2R5tw0xhnHvzNpAStfaBrTERBFM13fo8P/WTghMgCPFAcqT2HNDcPDQKDRdBFF1POkDLl9AxsKi5Ov2969p5DR26/qL3vD0ClymjFvVK/cgBYKr1LZDPXcjlCwWmaf4oP/YNExDByzYEg28h57t3UPMIiYYGWAXdTOfFipmUqi41iWJw+86XfOHTkduEi/Oh9AEh18mK7WHzqYx/64mfuefGLjj379lexucljA8gyYcWDu4iGtLU8FiKAIpXO6fRPWToT2AidAeJEMrZT5kQ2hsBgRKARorsC5JBlNWB2kxQid7/86/nFfyfE8f7amoH9AGi+mP2H9753d/vsp//4w9snj+fTX3zedy3mOhQPvTwe/kZsvTZvPCsw6mLaGdfyWIjqxa0FTv9zzv5YiOAcSmIExkjn1e2aTGZSAwQiGCG4WRbggguQQnCXKzZ556OzM3du3fA67JuUfjQAFRh+7M4/+vG//1bz9rZnP+fgxviOVx297vBn2u1PaPGf/Oy/iuMX6OCbcPTN4eAdChsUhDp5+CIarNdyKUIoOU3b/w92ftMBYyZKND+SXO2MOUEWEN0iEAArbRdSB8BFhwR3yZ0yt1m3c+Jdmze8Dsq2v+KyR3e5BeBX//U77vrEJxsETh/4k1938rV3nA7+gFLWQlqcb2cf7k79VLrve7t735JP/oZ3Z1R3zDq4ei2PlygxYveD+dy/EEmWnkGDxsTY09zzjG5AABoimAXSSBoYICNINwMpC2KQERa1OPFupYX2PW78ETWQVDXkrbc87TW333bHcw69/uvvfvFzT8fEaJ2BWTKn5SC00pe9/Y08+2A48w3h+r/MQ3+C8dAaO4+z0Nov6cxPhu4saKgNFQEIcnh7HqmToiuCkYgASBdESBApk9xBIyQzWBAi0/bH2+1Pj4++7HJNmIDFdPb/vuPX7vvYXa994dO+6eWfuv35DzEmgmZGizJlJEh0CS7uoP28569o8UGefWO44ftw4HWGAEmUcU04PWYiuGDI2/nUP7PFF2iEJ0GECROBOZ1WnsrpilADBFkgSCSjBCdL1pS0OlhcdJosGKbb07N/tHH05Zc7oczIu/7gFz7zH3/3hUfOfd0L7nvu009ECgbQDQCcCEQDZcGpQIruwNR1nOnfav4BO/zncfS7NbnNBndvLY+FqMx9PvsvOXuvYeJqgaxiv0DkudoduSQCBAJpIvu7YFB01ECdAFludlDeJwh0Z+4U/sY+I/lHMWF+6+a73vzaD20dnm3GWbBsgUbBYJAjoRbxNxTABAl00uUt7Jza7XT6p2339+Lhv6ijfwnNTY/R0VsLCOP5X89nf02YZGQqSVlOIQgdu9PopnAAUW4gyVDIOgCAo9wTgwGoPipJFktG0JDP3JV9EW28n8U8chRG2zx0w+jGB8wC4RSMMkKEIBJQgigbiQ0ZwAzLhJt5cZ6Dn/XZh7ruczb9Axz5q3bwTSVMKzxp/QFr2b/IBZL03Y/k0/9HQCtEIEt0JxAIqNvxdgfu8OgKTpi5o9g3B+DKoARKhFg2CIoi4EYyIC++gvYcJjfuZ1GPCCAC4+teqhMIwSmYBuIZIsxq+oVMpAEjsgEgZLJ1Oo2CDO46q+kfpvbucP53eOwt3Hi1IxAtcNEtSNe4CHCSiy/5Q28L6SHZhMoSAIOC0TzP1J2Tdy6TIJEsdkpChjLohAOAguAPe/RJ5G7b03Sfq3o0Jzocuj02jakr261/Wc87i55Jqag+2RgWwShMiAwkWvaib9Hm9GDe+W2bf8QP/Wd25L/A6Jncs6s1kr6mCATydnfyH9niM7IxPIkOmESCyp26baQZMuUmoTpAICjRgQzkOiHokQ84QXY7OZ3d57IeTQPZxvNCPMh8GiqkIgFZb00JKhjclTPZygIYECKtIescGloGO9BN2W2W/X6e/hXfeV848l04+OfVHDJ5TaVJa6P2sCI54A4qJz/5UzZ9HxnlubgycKNcuZWfR3seWe4mqVo0Fm/ZqYKeBKBMTDRIUD2ZKjSSCZRRqVO3vc/lPZoGstHTObmV50+LYFlKvQlQ+UNCMNLhKVMLNgInhCE0zhGsIUPBENkapsDCza37ZHrgJ3juXfHYD2rr9UJDdKa4VkMPK6LTDXA/8/O2/VtgEAS4lOGRktB5Pqd2G57lJhEwMAgEQQosCsB7n9kBQeWpf9X+4C5X2ufyHhFArqxwwDZfgHMfYwABZ1kQ1I/xJGECjXQpt0AW5A2NRkDWyBpgA4DDySmxiFh4dGim9gPp/ruw9eZ49PuxcZuzMEW9dlsLUKogCBOUz/xLO/urHmUeoYWk4tjAJM/Ic+bO3dwBpxiBUP1jQwFKmaRQC+7lQzh24R5LumPfKYRH5PdMpDEcfIVQkMIV56cEhzCxEAg0Iw0udXOkXeWZcqvUwpOUBEiNcNh5WDwCO0hOGBtYq/P/pv3C96cH/5naUyr9KJfaoHSViSD3zpUFT2d+2c/+ksyhUNoA4TIHAYfLF8itOymaQuFzSkBOQnIhgYkEaQ46IVN5WlSCF3+j6AYpMIawsc91PrIPRBiQr3s9YiQyV/BTSShybzsjjaDkqYWASCAAQhwJI4QIRSBkRmgkawNctiAa5tPpoX+cz70rHvv+cOjNjPtd+tUtFGQNcpvP/CLPvT2ic5ByKdFLWztJIXVoTytn0eRBNDCS5Qovt9V9WE1TpRQzSkWjUeUuvM1Ba27Y5zofUQM5JIlbL+LkWeUmv4P3Y3VxA5lZXG6CDMZIZ55xcc7aM+q2c7eT08zTwn0mn8JbuCGPsgdpIkw8gDZmd3e6/3+ef/GH8s7/1w/WKtm4a1AhCZKTyvN8+p/w3L8SWoDmgDKVKUF0RHfP3YNqF8qQB2cQTHuy6ALyYI9U/wiofF4/wazcjYUAJITRYWv2da8nPKoGsixYfBqOvg5fuRcWhURK5eIgV6s1aikQS4xoxSnytAvvzBfuC4QxQwMLMC9tSaJRBgUiyDoZ4eT8/YvjH1sc+jPjIz9gG7fRXcxkvJa8IrkyENWdTKf/SZz+gSNbIf3cpda8cacYTVndKbbnpSiE4juLQQTg1VullmVDGIJ5AYUFkpShSjKWezYLCFu32vjyASQYMi2GG/5zP/F2sLNSbs1qvIpLXT9M9vC2/hWANO/UJeY5Q0ScKIwUAzimjelRFqRAkmyApJBlI8jD2d9Jux+wQ9/JY98dm6df4ol4yooQsbjXz74tzj4mCQxyQE61nkOCAUEZ6E6jPUOnI0pGRjBgsBOUtOI1l4i9eDtctWiSXGBxyiECsiMv4/7yGHjUVAZMBmRe9wZOnqPFvaGvWa143vObC3IGGJVaNKmUCuRW3rq3jCN5Q8tuCRahDSDCIhBhTbk4ArM3UdrV6V+0nd/rjv6F5tC3Ix4BKgW/pDKvLumPKjH9gJ/5x0j3ipOi1YEkZch6i25Ip7w9yUwhuhkUuUQPl4mvGrcXQ6Wv2huKCwQZRMJdbgjjI6/c//F9lCqLEgIGa67Xjd+rXKBRAkvQl4kNUKKccqrcx17FhaqbIcxgptT5YhftDrrz6M6rmylNoSm8hTIUXGNwU7YF20AYK25kP9k++HPz438znf5VpZ2ycegRXcKnsEiQ5Iu8/W9x5u/F7nPUhtTIKe8gwIN7dIygBu1pn9/vnUtBjESgRdWkek8fUnWjJXovLnJPGxYXs1g1eKACZRCQhfHhzeteg33H8V/7rs2C0vTT+qM3hPQgrLr3KiWHRkCFY5QVvVmOxoUbpdGlnJ1KCsY4gm0ijBECw4gcw8bgRNwAA+ikpIzSL+eZco6eY0e+I269mfHAVaZ/yrFSdy/OvR3T33W5OwxwT3TBM0RXpAeXtDiJ+QlPLTimjZxRFotjIRYlnStiUK5yLwGPFwAJgKskxF05Ze9cKaRWSjnP5+H619/0ze9iaJa8zaPK1y6qdylsvDDf+B360s/SCvtDIFeXnX2WowwpqoG9ev04HCORiJGeA9zRLhAESWgkN8tES+uIJEyEMRhhRhngDISk7nh68Kfy9r9rDn13OPinELYAQF4gfFHt3FeCOGQuFZrPz3H6Xu28k909kjkiJXpHX0AGNQ4DgkM+f4A7J+SZbBCDaLAwBDNEsVZF6wAQC2FYQmeBgOgluqUkEQpSeSdkOFyTm95kcazKNH7t5NLX1kCODAU/92He+Ub6HNFXFU8xKyRlEG3w2fo/1dZqcNxIucsdLlXPesNCgxBkJY82Ag/IDtAasgEznEDraKkR1WZDDM+wg99iW9+C0fWAgoSnWsWj5BlG39XiA9z5bWs/6ZpSLm9cRJrDp5DLAzDK2JRa7H5Z05NyJyLiCCGKERYFoqiWEn/BpSyKvfGClcqt4itnlyRR8hw8W+7cM73Lue2yh5vf8PuTI68uwfZ+Lst9mDAliE7mT/51u/+XLEaQhRd6JAChV0Xy6gupXwmpXGDlgjtAWaNmgjBmCLQANggj2kGEQ+QWEWWFzEjSHJ57Rn6h5mY7+Ka49W1hfOtlncwnQ5R2sXi/pu9Bezd8NyObMrxxJ3wOn8JdCvKxEKWFT7+E6SlkU2hoQRZlEYywqusB9LGN9wPnvXqklRgS4CwjgEqE5iEneoeczbs5FlM//M23vuHdZrGkq/bzQ762CSMjmA2mW384nXxno1k/AaRHHqEVyzUMd9DK5D2yINUhlXCNZgLcXXkOdQgLxRHiCEyGDDrcxQzbAkZCAAIYaC0wlxwYsXtIp3+53f7tsPn18eC3aeMlxhEEIjnN6vXz5Jo2lQJ2lRAaUYK0y/n7MXuP2ruVd6EEucmkkdyU5/QZBPnIEcAG3mrnPsxOi1EWyZFIMIBhSA9UVhBOFftV/vWhlmrSVL13WtMdIhAEwBPFLB265dvNGmDfbYX70UCDZCl/4gftxC+gaQA3qxVt6tNivUKykukA4IMWLH4/nMvd1QfuXlODZj4a0RqzMcIYcYywQTvAsAVMgAkIQ5J3UgslILmMBJADGkxu49a3hI3XaPS0suHwpAf8ckHqczxID2jxfkzfg/R5+AIiPYMGmcuy3Lo5fS64fJQRCGN7Ou3ej8UUZjVFak11ffo2ncrgFNDIJWfPFlZfgl64n+GKlyg3z+Y55M6V2pzmQTcc+VPv3Tjw/Is6ZhcJoJ278ZE3mj8IC1a8elZi0VFuKM3KJbIk8IP6SwSS4P3NYCR5AXpRqsouF0k0AbFBmDCOEMaMGwgT4AC5CUxIc4HIcAcS2AqZADESMgQ1R+PmK23yBm68hOG6J921FiA/h8U9Pn+fzT+M9GUoiSPKKz/j5p6lBF8gt3AAIyhIreYP+fRB5SQEWAMYQxTNSTDQYk141ayPl7LD4v+WH+7VlslCBZAUAMohj+7myTx13rW5PX/gmT945FU/06eo9isXASDknELAZ9+av/C/xhhJykpSmIWJAimr2VbU/IaV7Ewt+YfqcCwISrVvoERjIARlFxxmiAExMkwUx7AJwwY4BsfkJjiBjMX4M4EJyirXnIxmFEBjc4Nv3BEmd9joNsSjqlP8s2Co5XoEHBc/3H+v1HRk78iGQqZSUtpG+pzaj2D+YeXj9Dk8gZAag5ULSMr0Dt5JLbPoyAxSZJ5p+mWfn2OmI7oZGcigYKSJATQYwYCqV7LkkLNeiF5+ndTnLqwcYRNNorspR2WkLHYpd7PMeONrfmfj2Osvbj7ZRQFIkpDUnuvu/LM2/6jFEeFuXhLHkJHUUHxfEx2sACJJ65sVizLK/RQIaalrvU5fkxjkIagZW5jQJrIxLZIT2EScgBvEyBigEl+0wkJMKNskTRQiGdQcZXObjW+z8e1oboIdIk0V71gZLXIJMkQ+YgGOZkgPensPuk9gcZd1p13niFZsBAKlwS9KRVVkeCvv6FmeoSAE94T2jOYntOgEGhqBTgODFT6WAQwoV1BR7HDAXc7h7k3qCei+jkzlHMEESkFOz0FZ6qz1Hc7n41u/6/pX/xIAM17U1KiLApADLsb04Dt5119hTCi2y4p7xqpQWYjN3q8uvJFZT7D3eyyuDweKXVhVSIKQXU4GxBGKV8RIa2ANbaywAZuQm8SEbFAKXziHFkQiSxx7ABYhGVyA2wHGm0N8GprnY/Rsa25kOAYeWC2lXTL8j3S89h4RoHM/re4E03Gkz3t3nPm4pXNZi2KfRICj4NFBMJYSZqkDOuQ5cytPLshFwLuZzx7A4rx5SYdGsdA8JjNa6fAyWKRVNhmsiBEcynBXDXNVabgSiLFU18AV5MEdSqYs5S63C2hy9Jv//cbRb5CSoSq2fcrFmLBeXKn9+H+FB/5FbBqWA7I3LU8reRtUe2p0xL5gQKSVeoQLdl2fyXsqu1CpkowkQlDYgI2cwYLRRrCRwgHYQdomOQIbwKEEZqKrdD5FBoGChdImW5xNjhAOMBxhPMJ4jLxB8RDsKHgUNgINMGAEFP3qQAdleaKm8HPQac+nkO9nPsV0Vn4a2AUyFQpr56JpBAbBiCAEgHAX3D0DM6plnillz4TcPeXdU5ifKrlxwASIgTaSlfqGUMv6zIRquQwuuYpHSK9IkqAhk5TFSgSV5g3J5OZOz1BOnhaYzsbP+YFjr/75ErBdrD6+JAC5uvkX9aE/E9JnGRrYsuMHfTKvOEN9zRC9nJLSs0/TwDMu9z7EZ15UUE0QS8iFEKDMFCawERhZ9LlFhg2GCTmhbcI2xTHYmJzsYKUBrWShSbqUWMv4VbyojCTm0msLNuSYiCgNAgrlOqaS0FY3C6mUAQIyBJFeG5QSEMRaDUc00ggKJb0td6iT5vAWPgcWcCE7kVNqNT3rO2c9tYwkAns32RhhQQU0DCyH1Jb5ItZYJJe0T7nqpEKwFSkXYqnmClCQUzLP8JyQkrdT2I1H3/D7GwdfcLEwKHJpI+48bjwrv+gf5rv+ckDm0gxVvqewVrX/cGkTKpe+8sm9I4UqGcbasiQvYwBgQs7I5e8OLDCO5SNaQ2RYcpvRGguNwhi2STsomwABPgJHYPEuJbSQqwYhCeyciZIJYPnAgtqGlQQJqVwOPmquxoCS9DYwQmMwAEYaEAVII2k0/CBXopcqnl1qDl/As5SkVk7KkNo0P6Xpmdwmc8BMCIUCQSFUGRBIWtFANImFch6Mvtfgq/rL6ieFDydEfeNFuYCtqKeiCuVJbdp66d8aH3zBJU8HuxQNNMj8U/+Nf/Enw6ixAvFCTaFWCmXrQ5zKlpYkmhFWePJBJ/W/VXse9LZMnlC6K8t0v8KbxSgzMtImYiOSIcJGsGhhhLgBFrW0AUawdBrVY01kUwc4mKUOSLBkKmYr9fRj8TorVydFIFT0IAIjYaTh52kkBjHQHWiJTlpAC+QF1EoL5IU8S3I3gyvNfX42T8+y68wpFg1pRa2izK5gUAgIhezpAxRIKlGDS668tFx1XpS83IWwHkapHHaxKRdAdsozcudtxmzOw3fc+M2/yfF1AC5tAMZlAWiRzuLO78rb7w4hWom/CoCqu0yaSkQGADTRHKgB9YpRe1gA1fBMEhLcWS2biv1TSSmDilHWgJE2ZmgEwWgh9k7SCByRE7MJ2MgiUTRHn26EEx2YAEGN4P2FWPuYUFzQMpyAkQwsBTTs5zXV8KIDWsrlM/kMaKGE7LWSMAueHS3TTPPz3u6gTfAglJwOaaXoJfQYiqAhRFggh3AklwCDxa67Vw0kSV65+4zhxsuVHGHwcsBl8uDuUFbOedF5Cje87tfHN72x8JlPvAZSBn33M/7hb1P3WWOjCEqlqblqISuoIlDywdULAgnEqlfRo2UJIKAPjCU5M1x9eYJ6jz3LS3FSiQSNHCkGsZxm0hoyig1C0XojhAk5Mk7EEa0RR0RQpRsCzEtdd5+YJBQr9kskLC+aAloAGT24BCc6lpsnSfAET0Iq8zFIKs+RFr7Y1WJX3RzeG2caUFoRrAdQpZhBgwUylKi68pG9l1MoNJWaq+L3IEti8aeX3mQBfSjJMLl5qVLMC/es+XTzhW+97iX/i6nPeD/xAJIjGXXmvemjf4V+ItpI9FoeVOcI9cVulVpc7ksIldLoYaRaKdZnzeo+VJ0q9EP9Cm3EDLlEDWVSBphYJyUZilpCAEstrgMRNFuepxFtwvqxOJTz1arHkh8GABG57B5ySWImHF7m8VDoTF6cfhcoyosqaKkOee7tVO3cu45ZKPc3AQwGQsEIgxGlL8oAC7BYCmM42JRan4o+5srlyJQiGkBlOkd1gQS5euiUsQaheD+QM3nWNM+78U3feuyOf23N5RZXXTqABGTPBpc1fuKd3V3fb7ZTFGFNcRgLgFa46aXFUumeLJW85RLpszd9MQpQ9bBVUoOOcp0JYga8lANVB704jqZaKQDKaDSwARoAZV+EiWLJRIayqkJFWs99lmFeF7r3NSpgEAKUgWROMEsuljNEwiH33HmeMc2RW2RX8tIwWjRzHaXC4i4b0LOClVw2Wui9xuEILPNcKr+5HiyvoOp5DzlUqoAA1TxSEKIygSx0SW2ceTjwvOte81tx61Y6aZfVUX7pg8YJBEoMJuGm72zydnfXjzCctxCLvmQZhbVke8tP7A9NKZZTVj0QNRnbJ65Led0wXwK9ZS8MrIhQ+/TL2BAWA0c4QQdV7R8cyOACJGhlQCA5phEgUsnTuWBEV6MbLlAjxt4ZqsbKxFiWCAbSpQ7eyUV2rlbqlLK89ZyYWZ1amBTLvhX6EKP0/PVlnLAAUgxg9R/rMaq49ZKpYA8QDBhSrtq5HNryrxxLsV5PqNh1JimHLmt83dYrf6HZejaUaZepgC5vUj0Zi0sT5H7LX2tc+RM/krAdw1heosraQr/sqe8XXFlo5OIOlO31LpH6p1iiR2DfFgK4ard+UQwOQMZ62z1Zb9VQqxpUciZV88NmxUs3NiBhgYxALOpBwxJULs1SmVVyM1bIISK5EpSUO6oEiYW8ArIoEcuqBMLK/J0CEbB45QZD37xC1dqMIQDxvjSsp3Z6eKgWEw6E/UALUT01W5t7VewXIc9omYCcwY3DL/u5jWOvIXBRjPMjyWNwqwMBokcRz/jrzoYf/9tZZxmDSkmuoU9PAQCtN1RWg61yDfZ9biutbnZhVKn6g6uHpJqIBj2UBIj69oM+57/MSFTtVTbjYnXK22LrHHUSQW9WgLq0UkswpLJ7YhIA4DUugJgJI6Lg5YdKKB56nclVYVpHzRU2Q6TKL69GxPu9ahi+UU2VAGZW8y33IeAo6KEXE4ceWuVSlLko9K61TxPi4Zf8+MYt3549RXts7nJxWWH8IBXxkkjd/2uLj/8t4kGzsZiGHtbaqm0VSYL3lr6wq0WnVy9JBFFqxa33octKbdgV+uIQabgoy5eF5Y/qj/WyptZ6ha+irCo31zd77NXprO4VgNrtPZB0S9vaG2jUOYSCaqWOed9/Xk1hoZN7yywB1rdnqsw/QDF+Kz+hLpVeITUAqFSFVq9ZLNhxJxioUMa1ZGbIkRI8bd7+v1/3/L8D2cXekudR5LEBUBHBmZVC0EO/lz/6A0pfUIyGPgozsBR9WF9yYj2vaqinpzdSXgYGFa6oVwmSr7jbqG5BwWJPevQvaFhTrzd6AFWSrWxBgzpZOQ7Dg2p2tdQNBUBc+UBRXcO2bWDAKvphYKjcBXqbtUIo+3JbAgolyL46bNiuBKAH0LDSeqU4sqsqUhXXNPahRYY31BTS5u1vPfi8/77PcT9m8pgCSLnUb8JCt/2R9Mdv0fadbAJhpcS0BPkM6qvQinb32pKCWhNCwInSb1F9zH4PdRDp8nwPj3uCqOh09Z9eUmq9FilXao8sriDtgkfFHvWGrXy5ON1c3e/KGaEPdoFWOXeGnlkaKEqQdF8tGgQADsw72MdcFxxe9X/rWaPDvZY1qLTtMLqsXH+1H8PbTB2+/e8dfO7/4MjxsZ7i9VgCqAZEIOSi+ey+xcd+2B/4rdCMEAAYQ3JUmwarar4qcw56HqjXPer56UffAyWkL6la1IuW3nMkGApZlnwTc10Yit9cqxt6txS917VyRPrTLHmPnrJQqydtKdUNXtlE6I9ETUEAGgJIsM6/QK9eVtWeCrtTwvLeZ9NXLa/QP8VrhxMZKoG8R5dJ5qILMefU5JiSrDn40p84/NwfKoNRH/P+p8cUQIMIjgREpe32Uz/a3fezZtniqMQKNIB9hpig9bFVIGsY3/sVgEo/kwwlqkB/ZdfVEyX4qJq96qcLAdSfqt4m9Ze+tAIgG94fvtIPjSiWdLA7qzaOAIZgeKA8VdfJ3ksr6Hf2npb6yswaTqG66ujjLfXWuMIIMC1Bp5JxLzVkDsEkywlyA43KjgQXmq1jr/jZzWd952OMmhV5XABU6p0BTwxGtZ//he4TPwp/yGIAjTZAp4TyBUCCyWjq4WG1Yr9s0lALfbnXaBhgJZxdNWorx+vCX7fHr5AGhVOKhbECoP4pa9Rd5mNjZTiBLjwvskED9ctdHt6aD+kV37IcqoJ7BX3DOtUjSZL1rGlBjxySuZeby5lUcuxBMiEzzWzrBUde83MbN7we3gXGS8tUfE15fDQQlk5+edSeft/iIz/i2x+yUaSVKKDQLiUuU3GcSVqtOwD7CEh96fhXl1pWqp41COLyRDwSblZ8oL5RvDrm6IOqgY+pob3pwkPvw/mtVrE/hmQY7FJxVfqKb6GOXuu9+l7/GDg8Hv7WrfVqstCDPdHBvLzHDtzN3Sq/WD6SyTSLN7/+hq//56PDL+bqyXgc5HEC0IWSAV+cbO/+39Lnfs7iDKEBnf0ULSMQ+uimxGvlSrZyL4dhuBUvWGud4L/nBHMwVns+2b97IYCA4pgLGNJhqABy0ko9+upmVvZ2IYBC/7j8V4oGVNfUpxuKcVxZ0wWqqGcIizkvL0AivOT+igMEz1UD1fSFIMpadugOPOd7jr36bTa5PhaO/fGUJwhArlKwx8WX/k13149hdg9GRgYbAMBaECOU2FolRc3A0v6zFyTV7ABaHcg1UIsrumrVLODhAFS8DNsLoFIYJ7KkS5dxev8BLL+7CqC9gVLvmdXa6CXl3q9ysLt7MFT5nLLUqrsK7VXfzJTDnS6rpJCMYuqSh9Hhl//doy/54WBjoi3540s+a/uRJwhAgwhI08/P7/oxfOlXU1QIIzIhkKoKySukODhJJSEA41Css6yQqWL9eIXKSC8jpYEC0EAmLUGw+tuXZqhWEK8osYH4K5WJg+ZYxmvVMNlgiMq9TgZrWiGwx0O/cNdl6QUjfVupKmhqZk8uFwuAJKaq1IjELs/C5AU3vPZtW8/6c/a4Gq298gQDSJKDQerm9/1f3d1/l7P72JhCTzey1lCzuDX99c9K/Pc1sv3RKR8rZ3claFoiy5faogR17MniGoTtDanqEnuY9lqhGkkrUTr34AZ7HleVUmdfDDzT6geHLwxfrEvxqrTqbY+Afuplie3rUAHPAOhD7aHoOSvljVu//YZv/InR4edLGTXT9kTIE66B1FcS0rTzhfbut86P/4qhRUOYBfZ+bGET2QfXrMVeAGpQryE9cOHpXLV2foEHoBppL+tK9DAA6iGqsjmVsdfst75qTb/afSkA6v0Sondv+7VfcDzca2CFXHMRZZFSzWeU9JdE5dITKAeYS1oMqZvb6IYjL/vRwy/7IQsjqNwNI1xaeeElyBMNoAvEhcWX/t3i7r+fz93ZGBFjDm79CMYiYqlKKHDp4zIUFSFWMOz5FStVCl8VuKkPvvYG4Q97HIqGE+sEolLHzVWvYjV2kqgBBNbHYXs2XIkIDUavji2Uau2/1zeomhArMZfkpSIahfhxuDrlnA487Y1HXvPjmzd+feFU+UQpnuUvenIBJHc30+LU4rM/vfu5n26mD2IEBhu0S6m/Km6uhoLB6iLVx1hpC+llMHK29/mSX+lffxh7VN+q6nAgNgvyDFbjsr7IvTzs69nKA/UHVnsMJfscSGUNtTR2EOXw7JC80oiUM3ul1eQDA0S1nW0c3Xrpf3f05X+7iZuupX68xDNxqfKkayCRqVQMpnOfnH76H3THf40+D5EsmTGEOvCD8BohLSOqEjDV9ASGeiMOeBJX8mh7//9wz/ZIP/kIwupwUa58bfDEh+hv6Ltlzeuo75/GKp76v8BALrogh+feAQchuMro5ORu5siO1HXQePO5f+HYq/7H8bGXFaiSxUo+4fB50gG0FJcMUp4/+IeLe97m979HmocmIAQwl1x6b9awomCIGmCtxDirR7EvKhpqMMhVBGAFar2bMrg1y/z56t5WQymgBt42eOTVhJXxGOox1Edj/YOSb8eS1ylqRkNepuY8vDZ+GcRWi9DCbvqmY6/8bw88+9uMoyceLl8tVwqAJJUbwboFKecHfnf66Z/O978bmLExCyuZ1mVlxgCnoitQzg25Mtp/yQcNOr5e+z1eejpowOQySu810PDWkCcZ9AegZafR8FdyW1rFPc7WwA9BXga40VUng8sLgLzYrEISuoMtOrXjw7cdfNV/fd0Lvi80B93LzSGf/BHsVwqAULV7dVgBZlf30O/PP/Mz+Su/o3SeEYyhqOk6hKG6P9oDhmJseiZkUDcanCGunPyKuNUX9vKEPS9Q3xrsl+q71ePxXsH0dwF0Lfmiyj+rd5zU65hyzwJUzwZecMMypCU7IHpqU4fRwecdetkPHnnJ32g2ry8Hqs5vuQJU0BUEoAtFchLK7ZmPdPf+n93xd+T5/TRECzmA1jfB1si3xjeVFrI++dErI19603vIHwxAG2ouhv2j38EF56mfs3yBD1R2M7yiPqXipUVgyLqjj6qcEN2XI9oKiZhzgEtdmxLs4HOOvvgth17xffHAM8MVAZgL5coFUNHyoMQoIO/eN/v8O9Lnfrnb+aipzEbu4/y9HnJfMVpq1pYe996No0eOeuj1KmIglvY8q3HQ8q3itZa69iGU8x5aKFlVFaxAtqxZKtmJDFRsqWggz/3Emza1GeHwbUdv/6tHXv69o61nuQAloz3eeYlLkCsXQABKuw/rYwpA2pnf/7uzz7093/8eb0+HUvFXyhgZqCxI/Q2pVjNoF/zKoiRqxFbtUt+kOrgsX52GrC5OLfTiMnUxYG6peMrAp1q/3PNDKtQVaoJCAst0v0zvPLfJneMbX3X45X/tyG1/sdm8uV86+9aoK06uaABdIIOtcHk6f1/35d+afeE38kMfzLPt2FDBQmkDN3rvTe/57koEPrDNK3ds8L54tfeo7MLvA5BYK6OrnQKgFc00vDVEVUuwLr2f/lteYrR5bltH2Jg8408ce/lbDj7vTTY6dGV4OF9bnkoAcjnh7gFIYAMDctud+/T0+Lvmx9+lUx/G4hQDwggIF0bggKkSRjXF3TNIfRNVX1t2QfasuthLIsfqXJ5VVnB5CIf6H9Ui5d71KcqpPK9kYM6plTzYoecdeO63Hn7JX9p8+jcGayBRuZ/ie6XLUwZAA/kvScjes9BgFMxzm7Y/NTvxvu6L79LpD6g9ESSE0jQTUPPZXqq3vPglfeq238Gq61NeGIxa/06BEClaT/hUnwa1nqs02ZT0e6lKyWU4tkul4dY9eVKXRxzfbDd/w+ZzvuXws//05OCNFkIAGIMxDq2YV748tQBUhkqXf4XB9Zwd7tlydmO21hfp7L2Lk3fmhz7Es3/E+fGA840EBpm7l3qMooBqM9EKxbd3j+y9pCHv0WfdqopZuugu1Zl6g8qBl6lGGTI45Z6zdamZjW7h9XdsPeO18Wmv2Dx0y6jZaAhFM7Nm1DRxbNaYscDpyofRUwxARQ+5Z3eXZ/eUUnLPnnNK89S2XWpzzm2bunbe7j642D6us3fb9NOj9JUNP9FgOkIqY8BKt1pfnbqsJOx9dgw525VFAKVxuMKkxkSuvumj1Fg44EiSZ7hzlsbnuwNn/ch53ro48KyDN9x2yzNfeOz6G2MzakZNiDHEJsYQwziEJjaj2IxCiDE2Za7UFY6hx6a/9QmQ1VIyCWbmYIBU7/EoQyBhYPaMPPNu5h41uml68PA0vGQx2/bdU1g8GLqTEz6w6WcmnG6Exci6GFIMiar1Pl7G06B6vUDvfAvyMnNeglMskyFSJqnkXHTWpslua9Mu7qbxbjo0zQd3tDnHVgqHwmhjNBlt6eBG1812T003mgMHDgITVyZKs5zDignM0Erj95UtTxkArYqZSTKju0ULHrJZDCFYjBZbxobBLITYNLGNcRQn41G7sTU7cHgxf3o7b08vZifaNnXTPNuR70afj3w+4vmRzUdsI+ZRXURHZkKEByagTLcKAF1s3TqFNo3nqZl2Yeqjed5Y5I2OjXMsjiyMbRSbSWji6PBkPJ6Mx6PxZDLZ2NjcPHjo0OHrJhuTMBqPRuMQm6YZxWYcm3EIMcQmBAshGu0pEYY9ZUzYI4l77vm6nD1nTzmn3LU5danrcpqnru26tmvnXVp0iy618y51ObU5peyeUk7Zc84pZ88pp9R27rnNqcvJ5Umeyzw5V82VWGnPtgZlzAstIsZocRwai70ECw1DDE1smhibZtRMmmbcNOPRZGM0mUzGGzGOQhxbiCHEEIIFCxZCiCTJUIK8K9x+4SoAUJE+n5DdXaq+dvYMdTln5ewpFWyl3ObsnjrPqeQt+1RClitX16rfihfg1BdqKVk9szQzEsbSY2urAgtmZhbMQgjRCjZCoDUhxNjEEBqzEPpPlsKU8oBXHt38KHKVAGivrCadeg5H3o+1cJf3zQy1GKcmx6WVEE81U1peRO8mrzjafaV9nbBR2tpqR3NfCleelwl2BW5cvmW0YYjWsMGnmFyVAIIeYeqx1GfJl3XKwyCPfh7P6vGokd+eCdf9O/14K2BZ98g+vuvnDVmvtPrEf+Gf+ozHUxAxF8jVCaDHVZa00Fcl2q4CQFysPCWjsCdYLrjGVvpAhlcu/OS1g6S1BlrLZclTyeFfyxUoawCt5bJkDaC1XJasAbSWy5I1gNZyWbIG0FouS9YAWstlyRpAa7ks+f8B9bMgpdvIBPEAAAAASUVORK5CYII=\n"
          },
          "metadata": {},
          "execution_count": 63
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "recognize_image(img)"
      ],
      "metadata": {
        "id": "PKU2JFPlQgi2",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 436
        },
        "outputId": "a30655cb-1b6b-4953-e423-3625d67f60db"
      },
      "execution_count": 64,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "/usr/local/lib/python3.10/dist-packages/fastai/torch_core.py:263: UserWarning: 'has_mps' is deprecated, please use 'torch.backends.mps.is_built()'\n",
            "  return getattr(torch, 'has_mps', False)\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "\n",
              "<style>\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:not([value]), progress:not([value])::-webkit-progress-bar {\n",
              "        background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
              "    }\n",
              "    .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
              "        background: #F44336;\n",
              "    }\n",
              "</style>\n"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": []
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Banana\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "{'Apple': 5.5752518157703435e-09,\n",
              " 'Apricot': 2.5855018126463847e-10,\n",
              " 'Avocado': 4.064226999389575e-08,\n",
              " 'Banana': 0.9999983310699463,\n",
              " 'Blueberry': 5.352696064164775e-09,\n",
              " 'Carambola': 1.3467055737237388e-07,\n",
              " 'Cherry': 7.743841479168623e-08,\n",
              " 'Fig': 1.3441150770177046e-07,\n",
              " 'Grape': 1.305619701241767e-08,\n",
              " 'Kiwi': 1.0617771550869293e-08,\n",
              " 'Lemon': 7.528898890996061e-07,\n",
              " 'Lychee': 1.645614133849449e-08,\n",
              " 'Mango': 7.693946457720813e-08,\n",
              " 'Orange': 2.524078865917545e-07,\n",
              " 'Papaya': 5.074594255916054e-08,\n",
              " 'Pear': 1.430123717227616e-07,\n",
              " 'Pineapple': 9.21994214309052e-08,\n",
              " 'Raspberry': 8.419928754221928e-09,\n",
              " 'Strawberry': 2.021719680556089e-09,\n",
              " 'Watermelon': 1.9477317536598093e-09}"
            ]
          },
          "metadata": {},
          "execution_count": 64
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import gradio as gr\n",
        "\n",
        "image = gr.Image()\n",
        "label = gr.Label()\n",
        "examples = [\n",
        "    'test_images/test_0.jpg',\n",
        "    'test_images/test_1.jpg',\n",
        "    'test_images/test_2.jpg',\n",
        "    'test_images/test_4.jpeg'\n",
        "]\n",
        "\n",
        "iface = gr.Interface(fn=recognize_image, inputs=image, outputs=label, examples=examples)\n",
        "iface.launch(inline=False)\n"
      ],
      "metadata": {
        "id": "eWhn_nMJQgls",
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "outputId": "1d509c26-6b0a-4951-fb34-76a4e04add98"
      },
      "execution_count": 65,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Setting queue=True in a Colab notebook requires sharing enabled. Setting `share=True` (you can turn this off by setting `share=False` in `launch()` explicitly).\n",
            "\n",
            "Colab notebook detected. To show errors in colab notebook, set debug=True in launch()\n",
            "Running on public URL: https://64643211b6c5ebf0bf.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"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": []
          },
          "metadata": {},
          "execution_count": 65
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "\n"
      ],
      "metadata": {
        "id": "RUkeg4_2jND8"
      },
      "execution_count": 65,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "JqItGOrkQgo2"
      },
      "execution_count": 65,
      "outputs": []
    }
  ]
}