devudilip commited on
Commit
506bf70
·
1 Parent(s): 71f8810

exported using nbdev

Browse files
Files changed (5) hide show
  1. .DS_Store +0 -0
  2. app.py +10 -18
  3. classifier.ipynb +444 -4
  4. image1.png +0 -0
  5. model.pkl +2 -2
.DS_Store CHANGED
Binary files a/.DS_Store and b/.DS_Store differ
 
app.py CHANGED
@@ -1,33 +1,25 @@
1
- from fastai.vision.all import *
2
- import gradio as gr
3
- import dill
4
 
5
- def is_cat(x): return x[0].isupper()
 
6
 
7
- learn = load_learner('model.pkl', pickle_module=dill)
 
 
8
 
 
9
 
 
10
  categories = ('Dog', 'Cat')
11
-
12
  def classify_image(img):
13
  pred, idx, probs = learn.predict(img)
14
  return dict(zip(categories, map(float, probs)))
15
 
 
16
  image = gr.Image(image_mode="RGB", type="pil")
17
  label = gr.Label()
18
 
19
- examples = ['siamese.png']
20
 
21
  intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
22
  intf.launch(inline=False)
23
-
24
- # def greet(name, intensity):
25
- # return "Hello, " + name + "!" * int(intensity)
26
-
27
- # demo = gr.Interface(
28
- # fn=greet,
29
- # inputs=["text", "slider"],
30
- # outputs=["text"],
31
- # )
32
-
33
- # demo.launch()
 
1
+ # AUTOGENERATED! DO NOT EDIT! File to edit: app.ipynb.
 
 
2
 
3
+ # %% auto 0
4
+ __all__ = ['categories', 'image', 'label', 'examples', 'intf', 'is_cat', 'classify_image']
5
 
6
+ # %% app.ipynb 22
7
+ from fastai.vision.all import *
8
+ import gradio as gr
9
 
10
+ def is_cat(x): return x[0].isupper()
11
 
12
+ # %% app.ipynb 37
13
  categories = ('Dog', 'Cat')
 
14
  def classify_image(img):
15
  pred, idx, probs = learn.predict(img)
16
  return dict(zip(categories, map(float, probs)))
17
 
18
+ # %% app.ipynb 39
19
  image = gr.Image(image_mode="RGB", type="pil")
20
  label = gr.Label()
21
 
22
+ examples = ['image1.png']
23
 
24
  intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)
25
  intf.launch(inline=False)
 
 
 
 
 
 
 
 
 
 
 
classifier.ipynb CHANGED
@@ -30,7 +30,7 @@
30
  },
31
  {
32
  "cell_type": "code",
33
- "execution_count": 11,
34
  "id": "0473c217",
35
  "metadata": {},
36
  "outputs": [
@@ -250,18 +250,458 @@
250
  },
251
  {
252
  "cell_type": "code",
253
- "execution_count": 14,
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  "id": "9119ee21",
255
  "metadata": {},
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
256
  "outputs": [],
257
  "source": [
258
- "learn.export('model.pkl', pickle_module=dill)"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
259
  ]
260
  },
261
  {
262
  "cell_type": "code",
263
  "execution_count": null,
264
- "id": "25a3e6c4",
 
 
 
 
 
 
 
 
265
  "metadata": {},
266
  "outputs": [],
267
  "source": []
 
30
  },
31
  {
32
  "cell_type": "code",
33
+ "execution_count": 35,
34
  "id": "0473c217",
35
  "metadata": {},
36
  "outputs": [
 
250
  },
251
  {
252
  "cell_type": "code",
253
+ "execution_count": 37,
254
+ "id": "8034b898",
255
+ "metadata": {},
256
+ "outputs": [
257
+ {
258
+ "data": {
259
+ "text/html": [
260
+ "\n",
261
+ "<style>\n",
262
+ " /* Turns off some styling */\n",
263
+ " progress {\n",
264
+ " /* gets rid of default border in Firefox and Opera. */\n",
265
+ " border: none;\n",
266
+ " /* Needs to be in here for Safari polyfill so background images work as expected. */\n",
267
+ " background-size: auto;\n",
268
+ " }\n",
269
+ " progress:not([value]), progress:not([value])::-webkit-progress-bar {\n",
270
+ " background: repeating-linear-gradient(45deg, #7e7e7e, #7e7e7e 10px, #5c5c5c 10px, #5c5c5c 20px);\n",
271
+ " }\n",
272
+ " .progress-bar-interrupted, .progress-bar-interrupted::-webkit-progress-bar {\n",
273
+ " background: #F44336;\n",
274
+ " }\n",
275
+ "</style>\n"
276
+ ],
277
+ "text/plain": [
278
+ "<IPython.core.display.HTML object>"
279
+ ]
280
+ },
281
+ "metadata": {},
282
+ "output_type": "display_data"
283
+ },
284
+ {
285
+ "data": {
286
+ "text/html": [],
287
+ "text/plain": [
288
+ "<IPython.core.display.HTML object>"
289
+ ]
290
+ },
291
+ "metadata": {},
292
+ "output_type": "display_data"
293
+ },
294
+ {
295
+ "data": {
296
+ "text/plain": [
297
+ "{'Dog': 1.0, 'Cat': 6.59496190991149e-09}"
298
+ ]
299
+ },
300
+ "execution_count": 37,
301
+ "metadata": {},
302
+ "output_type": "execute_result"
303
+ }
304
+ ],
305
+ "source": [
306
+ "pred, idx, probs = learn.predict('i1.jpg')\n",
307
+ "dict(zip(categories, map(float, probs)))"
308
+ ]
309
+ },
310
+ {
311
+ "cell_type": "code",
312
+ "execution_count": 38,
313
  "id": "9119ee21",
314
  "metadata": {},
315
+ "outputs": [
316
+ {
317
+ "ename": "AttributeError",
318
+ "evalue": "Can't get local object 'Transform.__init__.<locals>.wrapped_enc'",
319
+ "output_type": "error",
320
+ "traceback": [
321
+ "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
322
+ "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)",
323
+ "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[38]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[43mlearn\u001b[49m\u001b[43m.\u001b[49m\u001b[43mexport\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m'\u001b[39;49m\u001b[33;43mmodel.pkl\u001b[39;49m\u001b[33;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n",
324
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/fastai/learner.py:444\u001b[39m, in \u001b[36mexport\u001b[39m\u001b[34m(self, fname, pickle_module, pickle_protocol)\u001b[39m\n\u001b[32m 441\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m warnings.catch_warnings():\n\u001b[32m 442\u001b[39m \u001b[38;5;66;03m#To avoid the warning that come from PyTorch about model not being checked\u001b[39;00m\n\u001b[32m 443\u001b[39m warnings.simplefilter(\u001b[33m\"\u001b[39m\u001b[33mignore\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m444\u001b[39m \u001b[43mtorch\u001b[49m\u001b[43m.\u001b[49m\u001b[43msave\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mpath\u001b[49m\u001b[43m/\u001b[49m\u001b[43mfname\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_module\u001b[49m\u001b[43m=\u001b[49m\u001b[43mpickle_module\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_protocol\u001b[49m\u001b[43m=\u001b[49m\u001b[43mpickle_protocol\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 445\u001b[39m \u001b[38;5;28mself\u001b[39m.create_opt()\n\u001b[32m 446\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m state \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m: \u001b[38;5;28mself\u001b[39m.opt.load_state_dict(state)\n",
325
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/torch/serialization.py:652\u001b[39m, in \u001b[36msave\u001b[39m\u001b[34m(obj, f, pickle_module, pickle_protocol, _use_new_zipfile_serialization, _disable_byteorder_record)\u001b[39m\n\u001b[32m 650\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m _use_new_zipfile_serialization:\n\u001b[32m 651\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m _open_zipfile_writer(f) \u001b[38;5;28;01mas\u001b[39;00m opened_zipfile:\n\u001b[32m--> \u001b[39m\u001b[32m652\u001b[39m \u001b[43m_save\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mopened_zipfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_module\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpickle_protocol\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m_disable_byteorder_record\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 653\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[32m 654\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n",
326
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/torch/serialization.py:864\u001b[39m, in \u001b[36m_save\u001b[39m\u001b[34m(obj, zip_file, pickle_module, pickle_protocol, _disable_byteorder_record)\u001b[39m\n\u001b[32m 862\u001b[39m pickler = pickle_module.Pickler(data_buf, protocol=pickle_protocol)\n\u001b[32m 863\u001b[39m pickler.persistent_id = persistent_id\n\u001b[32m--> \u001b[39m\u001b[32m864\u001b[39m \u001b[43mpickler\u001b[49m\u001b[43m.\u001b[49m\u001b[43mdump\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 865\u001b[39m data_value = data_buf.getvalue()\n\u001b[32m 866\u001b[39m zip_file.write_record(\u001b[33m'\u001b[39m\u001b[33mdata.pkl\u001b[39m\u001b[33m'\u001b[39m, data_value, \u001b[38;5;28mlen\u001b[39m(data_value))\n",
327
+ "\u001b[31mAttributeError\u001b[39m: Can't get local object 'Transform.__init__.<locals>.wrapped_enc'"
328
+ ]
329
+ }
330
+ ],
331
+ "source": [
332
+ "learn.export('model.pkl')"
333
+ ]
334
+ },
335
+ {
336
+ "cell_type": "code",
337
+ "execution_count": 26,
338
+ "id": "25a3e6c4",
339
+ "metadata": {},
340
  "outputs": [],
341
  "source": [
342
+ "!pip install -q gradio\n",
343
+ "import gradio as gr"
344
+ ]
345
+ },
346
+ {
347
+ "cell_type": "code",
348
+ "execution_count": 27,
349
+ "id": "03631813",
350
+ "metadata": {},
351
+ "outputs": [
352
+ {
353
+ "ename": "ImportError",
354
+ "evalue": "cannot import name 'http_server' from 'gradio' (/Users/devudilip/miniforge3/lib/python3.12/site-packages/gradio/__init__.py)",
355
+ "output_type": "error",
356
+ "traceback": [
357
+ "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
358
+ "\u001b[31mImportError\u001b[39m Traceback (most recent call last)",
359
+ "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[27]\u001b[39m\u001b[32m, line 13\u001b[39m\n\u001b[32m 10\u001b[39m examples = [\u001b[33m'\u001b[39m\u001b[33msiamese.png\u001b[39m\u001b[33m'\u001b[39m]\n\u001b[32m 12\u001b[39m intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n\u001b[32m---> \u001b[39m\u001b[32m13\u001b[39m \u001b[43mintf\u001b[49m\u001b[43m.\u001b[49m\u001b[43mlaunch\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
360
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/gradio/blocks.py:2597\u001b[39m, in \u001b[36mlaunch\u001b[39m\u001b[34m(self, inline, inbrowser, share, debug, max_threads, auth, auth_message, prevent_thread_lock, show_error, server_name, server_port, height, width, favicon_path, ssl_keyfile, ssl_certfile, ssl_keyfile_password, ssl_verify, quiet, show_api, allowed_paths, blocked_paths, root_path, app_kwargs, state_session_capacity, share_server_address, share_server_protocol, share_server_tls_certificate, auth_dependency, max_file_size, enable_monitoring, strict_cors, node_server_name, node_port, ssr_mode, pwa, _frontend)\u001b[39m\n\u001b[32m 0\u001b[39m <Error retrieving source code with stack_data see ipython/ipython#13598>\n",
361
+ "\u001b[31mImportError\u001b[39m: cannot import name 'http_server' from 'gradio' (/Users/devudilip/miniforge3/lib/python3.12/site-packages/gradio/__init__.py)"
362
+ ]
363
+ }
364
+ ],
365
+ "source": [
366
+ "categories = ('Dog', 'Cat')\n",
367
+ "\n",
368
+ "def classify_image(img):\n",
369
+ " pred, idx, probs = learn.predict(img)\n",
370
+ " return dict(zip(categories, map(float, probs)))\n",
371
+ "\n",
372
+ "image = gr.Image()\n",
373
+ "label = gr.Label()\n",
374
+ "\n",
375
+ "examples = ['siamese.png']\n",
376
+ "\n",
377
+ "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n",
378
+ "intf.launch()"
379
+ ]
380
+ },
381
+ {
382
+ "cell_type": "code",
383
+ "execution_count": 30,
384
+ "id": "47d99904",
385
+ "metadata": {},
386
+ "outputs": [
387
+ {
388
+ "name": "stdout",
389
+ "output_type": "stream",
390
+ "text": [
391
+ "Requirement already satisfied: gradio in /Users/devudilip/miniforge3/lib/python3.12/site-packages (3.0)\n",
392
+ "Collecting gradio\n",
393
+ " Using cached gradio-5.22.0-py3-none-any.whl.metadata (16 kB)\n",
394
+ "Requirement already satisfied: aiofiles<24.0,>=22.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (23.2.1)\n",
395
+ "Requirement already satisfied: anyio<5.0,>=3.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (4.9.0)\n",
396
+ "Requirement already satisfied: fastapi<1.0,>=0.115.2 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.115.11)\n",
397
+ "Requirement already satisfied: ffmpy in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.5.0)\n",
398
+ "Collecting gradio-client==1.8.0 (from gradio)\n",
399
+ " Using cached gradio_client-1.8.0-py3-none-any.whl.metadata (7.1 kB)\n",
400
+ "Requirement already satisfied: groovy~=0.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.1.2)\n",
401
+ "Requirement already satisfied: httpx>=0.24.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.28.1)\n",
402
+ "Requirement already satisfied: huggingface-hub>=0.28.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.29.3)\n",
403
+ "Requirement already satisfied: jinja2<4.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (3.1.6)\n",
404
+ "Requirement already satisfied: markupsafe<4.0,>=2.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (2.1.5)\n",
405
+ "Requirement already satisfied: numpy<3.0,>=1.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (1.26.4)\n",
406
+ "Requirement already satisfied: orjson~=3.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (3.10.15)\n",
407
+ "Requirement already satisfied: packaging in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (24.2)\n",
408
+ "Requirement already satisfied: pandas<3.0,>=1.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (2.2.3)\n",
409
+ "Requirement already satisfied: pillow<12.0,>=8.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (10.4.0)\n",
410
+ "Requirement already satisfied: pydantic>=2.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (2.10.6)\n",
411
+ "Requirement already satisfied: pydub in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.25.1)\n",
412
+ "Requirement already satisfied: python-multipart>=0.0.18 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.0.20)\n",
413
+ "Requirement already satisfied: pyyaml<7.0,>=5.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (6.0.2)\n",
414
+ "Requirement already satisfied: ruff>=0.9.3 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.11.2)\n",
415
+ "Requirement already satisfied: safehttpx<0.2.0,>=0.1.6 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.1.6)\n",
416
+ "Requirement already satisfied: semantic-version~=2.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (2.10.0)\n",
417
+ "Requirement already satisfied: starlette<1.0,>=0.40.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.46.1)\n",
418
+ "Requirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.13.2)\n",
419
+ "Requirement already satisfied: typer<1.0,>=0.12 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.15.2)\n",
420
+ "Requirement already satisfied: typing-extensions~=4.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (4.12.2)\n",
421
+ "Requirement already satisfied: uvicorn>=0.14.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio) (0.34.0)\n",
422
+ "Requirement already satisfied: fsspec in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio-client==1.8.0->gradio) (2024.12.0)\n",
423
+ "Requirement already satisfied: websockets<16.0,>=10.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from gradio-client==1.8.0->gradio) (11.0.3)\n",
424
+ "Requirement already satisfied: idna>=2.8 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from anyio<5.0,>=3.0->gradio) (3.10)\n",
425
+ "Requirement already satisfied: sniffio>=1.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\n",
426
+ "Requirement already satisfied: certifi in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from httpx>=0.24.1->gradio) (2025.1.31)\n",
427
+ "Requirement already satisfied: httpcore==1.* in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from httpx>=0.24.1->gradio) (1.0.7)\n",
428
+ "Requirement already satisfied: h11<0.15,>=0.13 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\n",
429
+ "Requirement already satisfied: filelock in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (3.18.0)\n",
430
+ "Requirement already satisfied: requests in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (2.32.3)\n",
431
+ "Requirement already satisfied: tqdm>=4.42.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from huggingface-hub>=0.28.1->gradio) (4.67.1)\n",
432
+ "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2.9.0.post0)\n",
433
+ "Requirement already satisfied: pytz>=2020.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2024.1)\n",
434
+ "Requirement already satisfied: tzdata>=2022.7 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from pandas<3.0,>=1.0->gradio) (2025.1)\n",
435
+ "Requirement already satisfied: annotated-types>=0.6.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from pydantic>=2.0->gradio) (0.7.0)\n",
436
+ "Requirement already satisfied: pydantic-core==2.27.2 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from pydantic>=2.0->gradio) (2.27.2)\n",
437
+ "Requirement already satisfied: click>=8.0.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from typer<1.0,>=0.12->gradio) (8.1.8)\n",
438
+ "Requirement already satisfied: shellingham>=1.3.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from typer<1.0,>=0.12->gradio) (1.5.4)\n",
439
+ "Requirement already satisfied: rich>=10.11.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from typer<1.0,>=0.12->gradio) (13.9.4)\n",
440
+ "Requirement already satisfied: six>=1.5 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from python-dateutil>=2.8.2->pandas<3.0,>=1.0->gradio) (1.17.0)\n",
441
+ "Requirement already satisfied: markdown-it-py>=2.2.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (3.0.0)\n",
442
+ "Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.19.1)\n",
443
+ "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from requests->huggingface-hub>=0.28.1->gradio) (3.4.1)\n",
444
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from requests->huggingface-hub>=0.28.1->gradio) (2.3.0)\n",
445
+ "Requirement already satisfied: mdurl~=0.1 in /Users/devudilip/miniforge3/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio) (0.1.2)\n",
446
+ "Using cached gradio-5.22.0-py3-none-any.whl (46.2 MB)\n",
447
+ "Using cached gradio_client-1.8.0-py3-none-any.whl (322 kB)\n",
448
+ "Installing collected packages: gradio-client, gradio\n",
449
+ " Attempting uninstall: gradio-client\n",
450
+ " Found existing installation: gradio_client 0.5.0\n",
451
+ " Uninstalling gradio_client-0.5.0:\n",
452
+ " Successfully uninstalled gradio_client-0.5.0\n",
453
+ " Attempting uninstall: gradio\n",
454
+ " Found existing installation: gradio 3.0\n",
455
+ " Uninstalling gradio-3.0:\n",
456
+ " Successfully uninstalled gradio-3.0\n",
457
+ "Successfully installed gradio-5.22.0 gradio-client-1.8.0\n"
458
+ ]
459
+ }
460
+ ],
461
+ "source": [
462
+ "!pip install --upgrade gradio"
463
+ ]
464
+ },
465
+ {
466
+ "cell_type": "code",
467
+ "execution_count": 31,
468
+ "id": "f43155f8",
469
+ "metadata": {},
470
+ "outputs": [
471
+ {
472
+ "name": "stdout",
473
+ "output_type": "stream",
474
+ "text": [
475
+ "Name: gradio\r\n",
476
+ "Version: 5.22.0\r\n",
477
+ "Summary: Python library for easily interacting with trained machine learning models\r\n",
478
+ "Home-page: https://github.com/gradio-app/gradio\r\n",
479
+ "Author: \r\n",
480
+ "Author-email: Abubakar Abid <gradio-team@huggingface.co>, Ali Abid <gradio-team@huggingface.co>, Ali Abdalla <gradio-team@huggingface.co>, Dawood Khan <gradio-team@huggingface.co>, Ahsen Khaliq <gradio-team@huggingface.co>, Pete Allen <gradio-team@huggingface.co>, Ömer Faruk Özdemir <gradio-team@huggingface.co>, Freddy A Boulton <gradio-team@huggingface.co>, Hannah Blair <gradio-team@huggingface.co>\r\n",
481
+ "License-Expression: Apache-2.0\r\n",
482
+ "Location: /Users/devudilip/miniforge3/lib/python3.12/site-packages\r\n",
483
+ "Requires: aiofiles, anyio, fastapi, ffmpy, gradio-client, groovy, httpx, huggingface-hub, jinja2, markupsafe, numpy, orjson, packaging, pandas, pillow, pydantic, pydub, python-multipart, pyyaml, ruff, safehttpx, semantic-version, starlette, tomlkit, typer, typing-extensions, uvicorn\r\n",
484
+ "Required-by: \r\n"
485
+ ]
486
+ }
487
+ ],
488
+ "source": [
489
+ "!pip show gradio"
490
+ ]
491
+ },
492
+ {
493
+ "cell_type": "code",
494
+ "execution_count": 33,
495
+ "id": "78a256f7",
496
+ "metadata": {},
497
+ "outputs": [
498
+ {
499
+ "name": "stderr",
500
+ "output_type": "stream",
501
+ "text": [
502
+ "Exception in thread Thread-90 (run):\n",
503
+ "Traceback (most recent call last):\n",
504
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1075, in _bootstrap_inner\n",
505
+ " self.run()\n",
506
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/ipykernel/ipkernel.py\", line 766, in run_closure\n",
507
+ " _threading_Thread_run(self)\n",
508
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1012, in run\n",
509
+ " self._target(*self._args, **self._kwargs)\n",
510
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 66, in run\n",
511
+ " return asyncio.run(self.serve(sockets=sockets))\n",
512
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
513
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 195, in run\n",
514
+ " return runner.run(main)\n",
515
+ " ^^^^^^^^^^^^^^^^\n",
516
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 118, in run\n",
517
+ " return self._loop.run_until_complete(task)\n",
518
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
519
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/base_events.py\", line 691, in run_until_complete\n",
520
+ " return future.result()\n",
521
+ " ^^^^^^^^^^^^^^^\n",
522
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 70, in serve\n",
523
+ " await self._serve(sockets)\n",
524
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 77, in _serve\n",
525
+ " config.load()\n",
526
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/config.py\", line 427, in load\n",
527
+ " ws_protocol_class = import_from_string(WS_PROTOCOLS[self.ws])\n",
528
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
529
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 22, in import_from_string\n",
530
+ " raise exc from None\n",
531
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 19, in import_from_string\n",
532
+ " module = importlib.import_module(module_str)\n",
533
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
534
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n",
535
+ " return _bootstrap._gcd_import(name[level:], package, level)\n",
536
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
537
+ " File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n",
538
+ " File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n",
539
+ " File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n",
540
+ " File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n",
541
+ " File \"<frozen importlib._bootstrap_external>\", line 999, in exec_module\n",
542
+ " File \"<frozen importlib._bootstrap>\", line 488, in _call_with_frames_removed\n",
543
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/auto.py\", line 19, in <module>\n",
544
+ " from uvicorn.protocols.websockets.websockets_impl import WebSocketProtocol\n",
545
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py\", line 16, in <module>\n",
546
+ " from websockets.legacy.server import HTTPResponse\n",
547
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/legacy/server.py\", line 29, in <module>\n",
548
+ " from ..exceptions import (\n",
549
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 91, in __getattr__\n",
550
+ " \n",
551
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 28, in import_name\n",
552
+ " return getattr(module, name)\n",
553
+ " ^^^^^^^^^^^^^^^^^^^^\n",
554
+ "ModuleNotFoundError: No module named 'websockets.legacy.exceptions'\n",
555
+ "Exception in thread Thread-91 (run):\n",
556
+ "Traceback (most recent call last):\n",
557
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1075, in _bootstrap_inner\n",
558
+ " self.run()\n",
559
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/ipykernel/ipkernel.py\", line 766, in run_closure\n",
560
+ " _threading_Thread_run(self)\n",
561
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1012, in run\n",
562
+ " self._target(*self._args, **self._kwargs)\n",
563
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 66, in run\n",
564
+ " return asyncio.run(self.serve(sockets=sockets))\n",
565
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
566
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 195, in run\n",
567
+ " return runner.run(main)\n",
568
+ " ^^^^^^^^^^^^^^^^\n",
569
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 118, in run\n",
570
+ " return self._loop.run_until_complete(task)\n",
571
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
572
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/base_events.py\", line 691, in run_until_complete\n",
573
+ " return future.result()\n",
574
+ " ^^^^^^^^^^^^^^^\n",
575
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 70, in serve\n",
576
+ " await self._serve(sockets)\n",
577
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 77, in _serve\n",
578
+ " config.load()\n",
579
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/config.py\", line 427, in load\n",
580
+ " ws_protocol_class = import_from_string(WS_PROTOCOLS[self.ws])\n",
581
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
582
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 22, in import_from_string\n",
583
+ " raise exc from None\n",
584
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 19, in import_from_string\n",
585
+ " module = importlib.import_module(module_str)\n",
586
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
587
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n",
588
+ " return _bootstrap._gcd_import(name[level:], package, level)\n",
589
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
590
+ " File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n",
591
+ " File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n",
592
+ " File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n",
593
+ " File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n",
594
+ " File \"<frozen importlib._bootstrap_external>\", line 999, in exec_module\n",
595
+ " File \"<frozen importlib._bootstrap>\", line 488, in _call_with_frames_removed\n",
596
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/auto.py\", line 19, in <module>\n",
597
+ " from uvicorn.protocols.websockets.websockets_impl import WebSocketProtocol\n",
598
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py\", line 16, in <module>\n",
599
+ " from websockets.legacy.server import HTTPResponse\n",
600
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/legacy/server.py\", line 29, in <module>\n",
601
+ " from ..exceptions import (\n",
602
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 91, in __getattr__\n",
603
+ " \n",
604
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 28, in import_name\n",
605
+ " return getattr(module, name)\n",
606
+ " ^^^^^^^^^^^^^^^^^^^^\n",
607
+ "ModuleNotFoundError: No module named 'websockets.legacy.exceptions'\n",
608
+ "Exception in thread Thread-92 (run):\n",
609
+ "Traceback (most recent call last):\n",
610
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1075, in _bootstrap_inner\n",
611
+ " self.run()\n",
612
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/ipykernel/ipkernel.py\", line 766, in run_closure\n",
613
+ " _threading_Thread_run(self)\n",
614
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/threading.py\", line 1012, in run\n",
615
+ " self._target(*self._args, **self._kwargs)\n",
616
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 66, in run\n",
617
+ " return asyncio.run(self.serve(sockets=sockets))\n",
618
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
619
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 195, in run\n",
620
+ " return runner.run(main)\n",
621
+ " ^^^^^^^^^^^^^^^^\n",
622
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/runners.py\", line 118, in run\n",
623
+ " return self._loop.run_until_complete(task)\n",
624
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
625
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/asyncio/base_events.py\", line 691, in run_until_complete\n",
626
+ " return future.result()\n",
627
+ " ^^^^^^^^^^^^^^^\n",
628
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 70, in serve\n",
629
+ " await self._serve(sockets)\n",
630
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/server.py\", line 77, in _serve\n",
631
+ " config.load()\n",
632
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/config.py\", line 427, in load\n",
633
+ " ws_protocol_class = import_from_string(WS_PROTOCOLS[self.ws])\n",
634
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
635
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 22, in import_from_string\n",
636
+ " raise exc from None\n",
637
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/importer.py\", line 19, in import_from_string\n",
638
+ " module = importlib.import_module(module_str)\n",
639
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
640
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/importlib/__init__.py\", line 90, in import_module\n",
641
+ " return _bootstrap._gcd_import(name[level:], package, level)\n",
642
+ " ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
643
+ " File \"<frozen importlib._bootstrap>\", line 1387, in _gcd_import\n",
644
+ " File \"<frozen importlib._bootstrap>\", line 1360, in _find_and_load\n",
645
+ " File \"<frozen importlib._bootstrap>\", line 1331, in _find_and_load_unlocked\n",
646
+ " File \"<frozen importlib._bootstrap>\", line 935, in _load_unlocked\n",
647
+ " File \"<frozen importlib._bootstrap_external>\", line 999, in exec_module\n",
648
+ " File \"<frozen importlib._bootstrap>\", line 488, in _call_with_frames_removed\n",
649
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/auto.py\", line 19, in <module>\n",
650
+ " from uvicorn.protocols.websockets.websockets_impl import WebSocketProtocol\n",
651
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/uvicorn/protocols/websockets/websockets_impl.py\", line 16, in <module>\n",
652
+ " from websockets.legacy.server import HTTPResponse\n",
653
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/legacy/server.py\", line 29, in <module>\n",
654
+ " from ..exceptions import (\n",
655
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 91, in __getattr__\n",
656
+ " \n",
657
+ " File \"/Users/devudilip/miniforge3/lib/python3.12/site-packages/websockets/imports.py\", line 28, in import_name\n",
658
+ " return getattr(module, name)\n",
659
+ " ^^^^^^^^^^^^^^^^^^^^\n",
660
+ "ModuleNotFoundError: No module named 'websockets.legacy.exceptions'\n"
661
+ ]
662
+ },
663
+ {
664
+ "ename": "KeyboardInterrupt",
665
+ "evalue": "",
666
+ "output_type": "error",
667
+ "traceback": [
668
+ "\u001b[31m---------------------------------------------------------------------------\u001b[39m",
669
+ "\u001b[31mKeyboardInterrupt\u001b[39m Traceback (most recent call last)",
670
+ "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[33]\u001b[39m\u001b[32m, line 12\u001b[39m\n\u001b[32m 4\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[33m\"\u001b[39m\u001b[33mHello, \u001b[39m\u001b[33m\"\u001b[39m + name + \u001b[33m\"\u001b[39m\u001b[33m!\u001b[39m\u001b[33m\"\u001b[39m * \u001b[38;5;28mint\u001b[39m(intensity)\n\u001b[32m 6\u001b[39m demo = gr.Interface(\n\u001b[32m 7\u001b[39m fn=greet,\n\u001b[32m 8\u001b[39m inputs=[\u001b[33m\"\u001b[39m\u001b[33mtext\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mslider\u001b[39m\u001b[33m\"\u001b[39m],\n\u001b[32m 9\u001b[39m outputs=[\u001b[33m\"\u001b[39m\u001b[33mtext\u001b[39m\u001b[33m\"\u001b[39m],\n\u001b[32m 10\u001b[39m )\n\u001b[32m---> \u001b[39m\u001b[32m12\u001b[39m \u001b[43mdemo\u001b[49m\u001b[43m.\u001b[49m\u001b[43mlaunch\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n",
671
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/gradio/blocks.py:2604\u001b[39m, in \u001b[36mBlocks.launch\u001b[39m\u001b[34m(self, inline, inbrowser, share, debug, max_threads, auth, auth_message, prevent_thread_lock, show_error, server_name, server_port, height, width, favicon_path, ssl_keyfile, ssl_certfile, ssl_keyfile_password, ssl_verify, quiet, show_api, allowed_paths, blocked_paths, root_path, app_kwargs, state_session_capacity, share_server_address, share_server_protocol, share_server_tls_certificate, auth_dependency, max_file_size, enable_monitoring, strict_cors, node_server_name, node_port, ssr_mode, pwa, _frontend)\u001b[39m\n\u001b[32m 2596\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m 2597\u001b[39m \u001b[38;5;28;01mfrom\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mgradio\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[38;5;28;01mimport\u001b[39;00m http_server\n\u001b[32m 2599\u001b[39m (\n\u001b[32m 2600\u001b[39m server_name,\n\u001b[32m 2601\u001b[39m server_port,\n\u001b[32m 2602\u001b[39m local_url,\n\u001b[32m 2603\u001b[39m server,\n\u001b[32m-> \u001b[39m\u001b[32m2604\u001b[39m ) = \u001b[43mhttp_server\u001b[49m\u001b[43m.\u001b[49m\u001b[43mstart_server\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 2605\u001b[39m \u001b[43m \u001b[49m\u001b[43mapp\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mapp\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2606\u001b[39m \u001b[43m \u001b[49m\u001b[43mserver_name\u001b[49m\u001b[43m=\u001b[49m\u001b[43mserver_name\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2607\u001b[39m \u001b[43m \u001b[49m\u001b[43mserver_port\u001b[49m\u001b[43m=\u001b[49m\u001b[43mserver_port\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2608\u001b[39m \u001b[43m \u001b[49m\u001b[43mssl_keyfile\u001b[49m\u001b[43m=\u001b[49m\u001b[43mssl_keyfile\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2609\u001b[39m \u001b[43m \u001b[49m\u001b[43mssl_certfile\u001b[49m\u001b[43m=\u001b[49m\u001b[43mssl_certfile\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2610\u001b[39m \u001b[43m \u001b[49m\u001b[43mssl_keyfile_password\u001b[49m\u001b[43m=\u001b[49m\u001b[43mssl_keyfile_password\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 2611\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2612\u001b[39m \u001b[38;5;28mself\u001b[39m.server_name = server_name\n\u001b[32m 2613\u001b[39m \u001b[38;5;28mself\u001b[39m.local_url = local_url\n",
672
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/gradio/http_server.py:151\u001b[39m, in \u001b[36mstart_server\u001b[39m\u001b[34m(app, server_name, server_port, ssl_keyfile, ssl_certfile, ssl_keyfile_password)\u001b[39m\n\u001b[32m 141\u001b[39m reloader = SourceFileReloader(\n\u001b[32m 142\u001b[39m app=app,\n\u001b[32m 143\u001b[39m watch_dirs=GRADIO_WATCH_DIRS,\n\u001b[32m (...)\u001b[39m\u001b[32m 148\u001b[39m watch_module=sys.modules[\u001b[33m\"\u001b[39m\u001b[33m__main__\u001b[39m\u001b[33m\"\u001b[39m],\n\u001b[32m 149\u001b[39m )\n\u001b[32m 150\u001b[39m server = Server(config=config, reloader=reloader)\n\u001b[32m--> \u001b[39m\u001b[32m151\u001b[39m \u001b[43mserver\u001b[49m\u001b[43m.\u001b[49m\u001b[43mrun_in_thread\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 152\u001b[39m \u001b[38;5;28;01mbreak\u001b[39;00m\n\u001b[32m 153\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m (\u001b[38;5;167;01mOSError\u001b[39;00m, ServerFailedToStartError):\n",
673
+ "\u001b[36mFile \u001b[39m\u001b[32m~/miniforge3/lib/python3.12/site-packages/gradio/http_server.py:58\u001b[39m, in \u001b[36mServer.run_in_thread\u001b[39m\u001b[34m(self)\u001b[39m\n\u001b[32m 56\u001b[39m start = time.time()\n\u001b[32m 57\u001b[39m \u001b[38;5;28;01mwhile\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m.started:\n\u001b[32m---> \u001b[39m\u001b[32m58\u001b[39m \u001b[43mtime\u001b[49m\u001b[43m.\u001b[49m\u001b[43msleep\u001b[49m\u001b[43m(\u001b[49m\u001b[32;43m1e-3\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[32m 59\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m time.time() - start > \u001b[32m5\u001b[39m:\n\u001b[32m 60\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ServerFailedToStartError(\n\u001b[32m 61\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mServer failed to start. Please check that the port is available.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 62\u001b[39m )\n",
674
+ "\u001b[31mKeyboardInterrupt\u001b[39m: "
675
+ ]
676
+ }
677
+ ],
678
+ "source": [
679
+ "import gradio as gr\n",
680
+ "\n",
681
+ "def greet(name, intensity):\n",
682
+ " return \"Hello, \" + name + \"!\" * int(intensity)\n",
683
+ "\n",
684
+ "demo = gr.Interface(\n",
685
+ " fn=greet,\n",
686
+ " inputs=[\"text\", \"slider\"],\n",
687
+ " outputs=[\"text\"],\n",
688
+ ")\n",
689
+ "\n",
690
+ "demo.launch()"
691
  ]
692
  },
693
  {
694
  "cell_type": "code",
695
  "execution_count": null,
696
+ "id": "74837fee",
697
+ "metadata": {},
698
+ "outputs": [],
699
+ "source": []
700
+ },
701
+ {
702
+ "cell_type": "code",
703
+ "execution_count": null,
704
+ "id": "f61cb7c0",
705
  "metadata": {},
706
  "outputs": [],
707
  "source": []
image1.png ADDED
model.pkl CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b53c746618a12fcedee7bb22ac77b0613b4a520bdfefb943040ebed2b0d278c5
3
- size 47063358
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9eec5b97500ca3fadcc8903b116455bd3af6f7e9b6151b8b939d7d5fd15055ea
3
+ size 47062206