From 8d7bc4b49e8ec5c1e21caad7dfe812d68371d604 Mon Sep 17 00:00:00 2001 From: Johannes Stelzer Date: Sun, 15 Jan 2023 17:07:29 +0100 Subject: [PATCH] simplification and small fixes --- latent_blending.ipynb | 1200 +++++++++-------------------------------- 1 file changed, 247 insertions(+), 953 deletions(-) diff --git a/latent_blending.ipynb b/latent_blending.ipynb index 091bf46..48c0af0 100644 --- a/latent_blending.ipynb +++ b/latent_blending.ipynb @@ -2,6 +2,9 @@ "cells": [ { "cell_type": "markdown", + "metadata": { + "id": "t9DPiP5BgqfF" + }, "source": [ "# Instructions\n", "### 1) hit the white play button below \n", @@ -9,58 +12,33 @@ "### 3) scroll all the way to bottom of output and open link \"Running on public URL: https://xxxxxxxxx.gradio.live\" \n", "### 4) there are many parameters, read here what they mean: https://github.com/lunarring/latentblending/blob/main/parameters.md\n", "👇 (start here, move cursor below finger and play button will appear)" - ], - "metadata": { - "id": "t9DPiP5BgqfF" - } + ] }, { "cell_type": "code", "execution_count": null, "metadata": { + "cellView": "form", "colab": { "base_uri": "https://localhost:8080/", "height": 1000, "referenced_widgets": [ - "495e49b365db4a63b0a6c0c1a18618f1", - "0937bb0a42a04cf2a699cd0dfdb08f58", - "3cd77f4970ca4383af3793a0def99548", - "90f146b625824594bafaa2c34a985c53", - "23a8dffdfdf54dce87c1b0d06c215a19", - "f274a85e13ea4af89d6cca1ca94a2d5f", - "7393e0648acb43a995b7ef7f0bb0daaf", - "40b1274ad4124a73ac681528e2a693ad", - "a24ef8d929bd49469975a60630134ab3", - "cd09423a3d4b48f1ac9c9b618e64d233", - "74033ca88c5d4a6a8c3cb9ad739aca97", - "1eff4f1734224561a746267c4290620f", - "08d99a48efd14c1e9423eeb269f12d9a", - "e541fae739584cc3b9bbbf490f8fa2cb", - "e36754be14a6467e8afb564c87a53d51", - "93fe3baa643548b185cc1bcb7e3945d8", - "f3acd617d38740c480bc5d7470da1695", - "ba4336f6577c45bea4af940ea08b57d1", - "86554816cf7c4012bf702c7d833ec685", - "3e6d15c0a3cb431a80fe7448620af0bc", - "2eda918e13284c4c9afd7f167cf4af56", - "4f0061c718f847b29b29a20388fab641", - "1eb11001041144859375d5feb1b4c5bc", - "61236e7b09954ae8ba0e575cc9f345e9", - "15e76ca9be0d4f7484eba56d5a22a6ee", - "2f09ee0caddb4a9d94a8616fc99607a5", - "283eae336370485181bd8ea172debc9a", - "51385d57b85d4440ada34a57f3bd945a", - "5e3576e621584100ae7f8746cbcdf75c", - "ab6d9d0cf3204fc9bf94e23b2ce22256", - "baae00db06d1497eab6e1b5acda26c56", - "7e77f56335944b30a408cdd2b6a7420b", - "08ccfb2c004a46a995723d6e6395b345" + "cb1224fc26f546ba801641e8fa1fd886", + "cdb7a1adee244a7083715e92c57860dd", + "2d50250543bd42dfb8d04a921e2317be", + "db8701fb79c840768e153f01791855dc", + "1ac2c23ce8134ff4b61f6bd18637ec85", + "610d37336d6d4fb29ccf7add5f031136", + "0e5aa1e9d09a49c98836059467085af9", + "480afd6353a342d89e4c94e862b4886b", + "baee0201374a495085e24fb57e2a2021", + "b2b87327203e41a4a9655cdd96843f8e", + "22da2842f1194df7b13dd88403aa6863" ] }, - "id": "jgZQj-tE6GWW", - "outputId": "3c820598-329a-4f8f-f09c-ce0163333a51", "collapsed": true, - "cellView": "form" + "id": "jgZQj-tE6GWW", + "outputId": "9c4ee706-b620-43d4-fdee-412fba47f32e" }, "outputs": [ { @@ -68,9 +46,40 @@ "name": "stdout", "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: omegaconf in /usr/local/lib/python3.8/dist-packages (2.3.0)\n", - "Requirement already satisfied: PyYAML>=5.1.0 in /usr/local/lib/python3.8/dist-packages (from omegaconf) (6.0)\n", - "Requirement already satisfied: antlr4-python3-runtime==4.9.* in /usr/local/lib/python3.8/dist-packages (from omegaconf) (4.9.3)\n", + "Collecting omegaconf\n", + " Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 KB\u001b[0m \u001b[31m1.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: PyYAML>=5.1.0 in /usr/local/lib/python3.8/dist-packages (from omegaconf) (6.0)\n", + "Collecting antlr4-python3-runtime==4.9.*\n", + " Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m117.0/117.0 KB\u001b[0m \u001b[31m822.3 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Building wheels for collected packages: antlr4-python3-runtime\n", + " Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144575 sha256=0628fded204cc90e08bd2ad25cdb360e7f5019eb3b6b2daa8dd3ca9b8b58402f\n", + " Stored in directory: /root/.cache/pip/wheels/b1/a3/c2/6df046c09459b73cc9bb6c4401b0be6c47048baf9a1617c485\n", + "Successfully built antlr4-python3-runtime\n", + "Installing collected packages: antlr4-python3-runtime, omegaconf\n", + "Successfully installed antlr4-python3-runtime-4.9.3 omegaconf-2.3.0\n" + ] + }, + { + "output_type": "display_data", + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "pydevd_plugins" + ] + } + } + }, + "metadata": {} + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: fastcore in /usr/local/lib/python3.8/dist-packages (1.5.27)\n", "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from fastcore) (21.3)\n", @@ -79,110 +88,123 @@ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: Pillow in /usr/local/lib/python3.8/dist-packages (7.1.2)\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: ffmpeg-python in /usr/local/lib/python3.8/dist-packages (0.2.0)\n", + "Collecting ffmpeg-python\n", + " Downloading ffmpeg_python-0.2.0-py3-none-any.whl (25 kB)\n", "Requirement already satisfied: future in /usr/local/lib/python3.8/dist-packages (from ffmpeg-python) (0.16.0)\n", + "Installing collected packages: ffmpeg-python\n", + "Successfully installed ffmpeg-python-0.2.0\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: einops in /usr/local/lib/python3.8/dist-packages (0.6.0)\n", + "Collecting einops\n", + " Downloading einops-0.6.0-py3-none-any.whl (41 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m41.6/41.6 KB\u001b[0m \u001b[31m5.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: einops\n", + "Successfully installed einops-0.6.0\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Collecting open-clip-torch\n", - " Using cached open_clip_torch-2.9.3-py3-none-any.whl (1.4 MB)\n", - "Collecting ftfy\n", - " Downloading ftfy-6.1.1-py3-none-any.whl (53 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.1/53.1 KB\u001b[0m \u001b[31m3.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: torch>=1.9.0 in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (1.13.0+cu116)\n", - "Requirement already satisfied: huggingface-hub in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (0.11.1)\n", - "Requirement already satisfied: regex in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (2022.6.2)\n", - "Collecting sentencepiece\n", + " Downloading open_clip_torch-2.9.3-py3-none-any.whl (1.4 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.4/1.4 MB\u001b[0m \u001b[31m40.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: regex in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (2022.6.2)\n", + "Collecting huggingface-hub\n", + " Downloading huggingface_hub-0.11.1-py3-none-any.whl (182 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m182.4/182.4 KB\u001b[0m \u001b[31m22.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting sentencepiece\n", " Downloading sentencepiece-0.1.97-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m23.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (4.64.1)\n", - "Requirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (0.14.0+cu116)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m71.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: torchvision in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (0.14.0+cu116)\n", "Collecting protobuf==3.20.*\n", " Downloading protobuf-3.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m55.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from torch>=1.9.0->open-clip-torch) (4.4.0)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m71.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: torch>=1.9.0 in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (1.13.0+cu116)\n", + "Collecting ftfy\n", + " Downloading ftfy-6.1.1-py3-none-any.whl (53 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m53.1/53.1 KB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tqdm in /usr/local/lib/python3.8/dist-packages (from open-clip-torch) (4.64.1)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from torch>=1.9.0->open-clip-torch) (4.4.0)\n", "Requirement already satisfied: wcwidth>=0.2.5 in /usr/local/lib/python3.8/dist-packages (from ftfy->open-clip-torch) (0.2.5)\n", + "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub->open-clip-torch) (3.9.0)\n", "Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub->open-clip-torch) (21.3)\n", "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub->open-clip-torch) (6.0)\n", - "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from huggingface-hub->open-clip-torch) (3.9.0)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from huggingface-hub->open-clip-torch) (2.25.1)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from torchvision->open-clip-torch) (1.21.6)\n", "Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.8/dist-packages (from torchvision->open-clip-torch) (7.1.2)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from torchvision->open-clip-torch) (1.21.6)\n", "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging>=20.9->huggingface-hub->open-clip-torch) (3.0.9)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (2.10)\n", - "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (1.24.3)\n", "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (2.10)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (2022.12.7)\n", - "Installing collected packages: sentencepiece, protobuf, ftfy, open-clip-torch\n", + "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->huggingface-hub->open-clip-torch) (1.24.3)\n", + "Installing collected packages: sentencepiece, protobuf, ftfy, huggingface-hub, open-clip-torch\n", " Attempting uninstall: protobuf\n", " Found existing installation: protobuf 3.19.6\n", " Uninstalling protobuf-3.19.6:\n", " Successfully uninstalled protobuf-3.19.6\n", "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", "tensorflow 2.9.2 requires protobuf<3.20,>=3.9.2, but you have protobuf 3.20.3 which is incompatible.\n", - "tensorboardx 2.5.1 requires protobuf<=3.20.1,>=3.8.0, but you have protobuf 3.20.3 which is incompatible.\n", "tensorboard 2.9.1 requires protobuf<3.20,>=3.9.2, but you have protobuf 3.20.3 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed ftfy-6.1.1 open-clip-torch-2.9.3 protobuf-3.20.3 sentencepiece-0.1.97\n", + "\u001b[0mSuccessfully installed ftfy-6.1.1 huggingface-hub-0.11.1 open-clip-torch-2.9.3 protobuf-3.20.3 sentencepiece-0.1.97\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Collecting gradio\n", - " Using cached gradio-3.16.1-py3-none-any.whl (14.2 MB)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from gradio) (1.21.6)\n", - "Collecting python-multipart\n", - " Downloading python-multipart-0.0.5.tar.gz (32 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: pillow in /usr/local/lib/python3.8/dist-packages (from gradio) (7.1.2)\n", - "Requirement already satisfied: altair>=4.2.0 in /usr/local/lib/python3.8/dist-packages (from gradio) (4.2.0)\n", - "Collecting httpx\n", - " Using cached httpx-0.23.3-py3-none-any.whl (71 kB)\n", - "Requirement already satisfied: fsspec in /usr/local/lib/python3.8/dist-packages (from gradio) (2022.11.0)\n", - "Collecting orjson\n", + " Downloading gradio-3.16.1-py3-none-any.whl (14.2 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m14.2/14.2 MB\u001b[0m \u001b[31m85.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting orjson\n", " Downloading orjson-3.8.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (270 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m270.5/270.5 KB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: pyyaml in /usr/local/lib/python3.8/dist-packages (from gradio) (6.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from gradio) (2.25.1)\n", - "Requirement already satisfied: matplotlib in /usr/local/lib/python3.8/dist-packages (from gradio) (3.2.2)\n", - "Requirement already satisfied: pydantic in /usr/local/lib/python3.8/dist-packages (from gradio) (1.10.4)\n", - "Collecting pydub\n", - " Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", - "Collecting websockets>=10.0\n", - " Using cached websockets-10.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (106 kB)\n", - "Collecting pycryptodome\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m270.5/270.5 KB\u001b[0m \u001b[31m31.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting pycryptodome\n", " Downloading pycryptodome-3.16.0-cp35-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (2.3 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m48.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.3/2.3 MB\u001b[0m \u001b[31m88.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: jinja2 in /usr/local/lib/python3.8/dist-packages (from gradio) (2.11.3)\n", "Requirement already satisfied: markupsafe in /usr/local/lib/python3.8/dist-packages (from gradio) (2.0.1)\n", - "Collecting fastapi\n", - " Downloading fastapi-0.89.1-py3-none-any.whl (55 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m55.8/55.8 KB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hCollecting ffmpy\n", - " Downloading ffmpy-0.3.0.tar.gz (4.8 kB)\n", + "Requirement already satisfied: matplotlib in /usr/local/lib/python3.8/dist-packages (from gradio) (3.2.2)\n", + "Requirement already satisfied: pandas in /usr/local/lib/python3.8/dist-packages (from gradio) (1.3.5)\n", + "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from gradio) (4.4.0)\n", + "Collecting websockets>=10.0\n", + " Downloading websockets-10.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (106 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m107.0/107.0 KB\u001b[0m \u001b[31m12.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: aiohttp in /usr/local/lib/python3.8/dist-packages (from gradio) (3.8.3)\n", + "Collecting httpx\n", + " Downloading httpx-0.23.3-py3-none-any.whl (71 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m71.5/71.5 KB\u001b[0m \u001b[31m10.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting python-multipart\n", + " Downloading python-multipart-0.0.5.tar.gz (32 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: pyyaml in /usr/local/lib/python3.8/dist-packages (from gradio) (6.0)\n", + "Collecting pydub\n", + " Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Requirement already satisfied: fsspec in /usr/local/lib/python3.8/dist-packages (from gradio) (2022.11.0)\n", "Collecting uvicorn\n", " Downloading uvicorn-0.20.0-py3-none-any.whl (56 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.9/56.9 KB\u001b[0m \u001b[31m5.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: aiohttp in /usr/local/lib/python3.8/dist-packages (from gradio) (3.8.3)\n", - "Requirement already satisfied: pandas in /usr/local/lib/python3.8/dist-packages (from gradio) (1.3.5)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m56.9/56.9 KB\u001b[0m \u001b[31m7.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hCollecting fastapi\n", + " Downloading fastapi-0.89.1-py3-none-any.whl (55 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m55.8/55.8 KB\u001b[0m \u001b[31m8.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: altair>=4.2.0 in /usr/local/lib/python3.8/dist-packages (from gradio) (4.2.0)\n", + "Requirement already satisfied: pillow in /usr/local/lib/python3.8/dist-packages (from gradio) (7.1.2)\n", + "Collecting ffmpy\n", + " Downloading ffmpy-0.3.0.tar.gz (4.8 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: pydantic in /usr/local/lib/python3.8/dist-packages (from gradio) (1.10.4)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from gradio) (1.21.6)\n", "Collecting markdown-it-py[linkify,plugins]\n", - " Using cached markdown_it_py-2.1.0-py3-none-any.whl (84 kB)\n", - "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.8/dist-packages (from gradio) (4.4.0)\n", - "Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from altair>=4.2.0->gradio) (0.4)\n", + " Downloading markdown_it_py-2.1.0-py3-none-any.whl (84 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m84.5/84.5 KB\u001b[0m \u001b[31m11.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from gradio) (2.25.1)\n", "Requirement already satisfied: jsonschema>=3.0 in /usr/local/lib/python3.8/dist-packages (from altair>=4.2.0->gradio) (4.3.3)\n", + "Requirement already satisfied: entrypoints in /usr/local/lib/python3.8/dist-packages (from altair>=4.2.0->gradio) (0.4)\n", "Requirement already satisfied: toolz in /usr/local/lib/python3.8/dist-packages (from altair>=4.2.0->gradio) (0.12.0)\n", - "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas->gradio) (2022.7)\n", "Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.8/dist-packages (from pandas->gradio) (2.8.2)\n", - "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (4.0.2)\n", + "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas->gradio) (2022.7)\n", "Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (2.1.1)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (1.3.3)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (6.0.4)\n", "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (22.2.0)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (1.3.1)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (6.0.4)\n", + "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (4.0.2)\n", "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (1.8.2)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp->gradio) (1.3.3)\n", "Collecting starlette==0.22.0\n", " Downloading starlette-0.22.0-py3-none-any.whl (64 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m64.3/64.3 KB\u001b[0m \u001b[31m8.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m64.3/64.3 KB\u001b[0m \u001b[31m9.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting anyio<5,>=3.4.0\n", " Downloading anyio-3.6.2-py3-none-any.whl (80 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m80.6/80.6 KB\u001b[0m \u001b[31m11.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m80.6/80.6 KB\u001b[0m \u001b[31m10.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting sniffio\n", " Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)\n", "Requirement already satisfied: certifi in /usr/local/lib/python3.8/dist-packages (from httpx->gradio) (2022.12.7)\n", @@ -190,25 +212,25 @@ " Downloading rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)\n", "Collecting httpcore<0.17.0,>=0.15.0\n", " Downloading httpcore-0.16.3-py3-none-any.whl (69 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.6/69.6 KB\u001b[0m \u001b[31m9.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m69.6/69.6 KB\u001b[0m \u001b[31m10.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting mdurl~=0.1\n", " Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB)\n", "Collecting mdit-py-plugins\n", " Downloading mdit_py_plugins-0.3.3-py3-none-any.whl (50 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.5/50.5 KB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m50.5/50.5 KB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting linkify-it-py~=1.0\n", " Downloading linkify_it_py-1.0.3-py3-none-any.whl (19 kB)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib->gradio) (1.4.4)\n", "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib->gradio) (0.11.0)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib->gradio) (3.0.9)\n", "Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python3.8/dist-packages (from python-multipart->gradio) (1.15.0)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->gradio) (2.10)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->gradio) (4.0.0)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->gradio) (1.24.3)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->gradio) (4.0.0)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->gradio) (2.10)\n", "Requirement already satisfied: click>=7.0 in /usr/local/lib/python3.8/dist-packages (from uvicorn->gradio) (7.1.2)\n", "Collecting h11>=0.8\n", " Downloading h11-0.14.0-py3-none-any.whl (58 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 KB\u001b[0m \u001b[31m7.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 KB\u001b[0m \u001b[31m8.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: importlib-resources>=1.4.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=3.0->altair>=4.2.0->gradio) (5.10.2)\n", "Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.8/dist-packages (from jsonschema>=3.0->altair>=4.2.0->gradio) (0.19.3)\n", "Collecting uc-micro-py\n", @@ -216,44 +238,51 @@ "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources>=1.4.0->jsonschema>=3.0->altair>=4.2.0->gradio) (3.11.0)\n", "Building wheels for collected packages: ffmpy, python-multipart\n", " Building wheel for ffmpy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for ffmpy: filename=ffmpy-0.3.0-py3-none-any.whl size=4711 sha256=82adb5a05896febb2e0f4309bfa6bc4a2e5ca3b030415afd9d8676cc4a7c7ae4\n", + " Created wheel for ffmpy: filename=ffmpy-0.3.0-py3-none-any.whl size=4711 sha256=8d8a7d8e0bc815999aeb702025059b8683e80d8b3c84e8abb2b8262c59394671\n", " Stored in directory: /root/.cache/pip/wheels/ff/5b/59/913b443e7369dc04b61f607a746b6f7d83fb65e2e19fcc958d\n", " Building wheel for python-multipart (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for python-multipart: filename=python_multipart-0.0.5-py3-none-any.whl size=31678 sha256=337e866414b4cda885635ae14d369f3bfd215749e27dc7e4b7dcec7db43b1ff4\n", + " Created wheel for python-multipart: filename=python_multipart-0.0.5-py3-none-any.whl size=31678 sha256=e973c59a971e6192be3d9611b458cc2a171dcd6eb05bc604c98439b70e2b9b48\n", " Stored in directory: /root/.cache/pip/wheels/9e/fc/1c/cf980e6413d3ee8e70cd8f39e2366b0f487e3e221aeb452eb0\n", "Successfully built ffmpy python-multipart\n", "Installing collected packages: rfc3986, pydub, ffmpy, websockets, uc-micro-py, sniffio, python-multipart, pycryptodome, orjson, mdurl, h11, uvicorn, markdown-it-py, linkify-it-py, anyio, starlette, mdit-py-plugins, httpcore, httpx, fastapi, gradio\n", "Successfully installed anyio-3.6.2 fastapi-0.89.1 ffmpy-0.3.0 gradio-3.16.1 h11-0.14.0 httpcore-0.16.3 httpx-0.23.3 linkify-it-py-1.0.3 markdown-it-py-2.1.0 mdit-py-plugins-0.3.3 mdurl-0.1.2 orjson-3.8.5 pycryptodome-3.16.0 pydub-0.25.1 python-multipart-0.0.5 rfc3986-1.5.0 sniffio-1.3.0 starlette-0.22.0 uc-micro-py-1.0.1 uvicorn-0.20.0 websockets-10.4\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: pytorch_lightning in /usr/local/lib/python3.8/dist-packages (1.8.6)\n", - "Requirement already satisfied: numpy>=1.17.2 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (1.21.6)\n", - "Requirement already satisfied: PyYAML>=5.4 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (6.0)\n", - "Requirement already satisfied: packaging>=17.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (21.3)\n", - "Requirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (4.4.0)\n", + "Collecting pytorch_lightning\n", + " Downloading pytorch_lightning-1.8.6-py3-none-any.whl (800 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m800.3/800.3 KB\u001b[0m \u001b[31m30.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.17.2 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (1.21.6)\n", + "Collecting lightning-utilities!=0.4.0,>=0.3.0\n", + " Downloading lightning_utilities-0.5.0-py3-none-any.whl (18 kB)\n", "Requirement already satisfied: torch>=1.9.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (1.12.1+cu113)\n", - "Requirement already satisfied: tqdm>=4.57.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (4.64.1)\n", - "Requirement already satisfied: torchmetrics>=0.7.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (0.11.0)\n", - "Requirement already satisfied: tensorboardX>=2.2 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (2.5.1)\n", + "Collecting tensorboardX>=2.2\n", + " Downloading tensorboardX-2.5.1-py2.py3-none-any.whl (125 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m125.4/125.4 KB\u001b[0m \u001b[31m243.7 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: tqdm>=4.57.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (4.64.1)\n", + "Requirement already satisfied: PyYAML>=5.4 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (6.0)\n", "Requirement already satisfied: fsspec[http]>2021.06.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (2022.11.0)\n", - "Requirement already satisfied: lightning-utilities!=0.4.0,>=0.3.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (0.5.0)\n", + "Collecting torchmetrics>=0.7.0\n", + " Downloading torchmetrics-0.11.0-py3-none-any.whl (512 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m512.4/512.4 KB\u001b[0m \u001b[31m48.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: typing-extensions>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (4.4.0)\n", + "Requirement already satisfied: packaging>=17.0 in /usr/local/lib/python3.8/dist-packages (from pytorch_lightning) (21.3)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from fsspec[http]>2021.06.0->pytorch_lightning) (2.25.1)\n", "Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /usr/local/lib/python3.8/dist-packages (from fsspec[http]>2021.06.0->pytorch_lightning) (3.8.3)\n", "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging>=17.0->pytorch_lightning) (3.0.9)\n", "Collecting protobuf<=3.20.1,>=3.8.0\n", " Downloading protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m17.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hRequirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (1.3.1)\n", - "Requirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (4.0.2)\n", - "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (6.0.4)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m64.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: async-timeout<5.0,>=4.0.0a3 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (4.0.2)\n", "Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (22.2.0)\n", - "Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (2.1.1)\n", - "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (1.3.3)\n", "Requirement already satisfied: yarl<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (1.8.2)\n", - "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (4.0.0)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (2022.12.7)\n", + "Requirement already satisfied: multidict<7.0,>=4.5 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (6.0.4)\n", + "Requirement already satisfied: aiosignal>=1.1.2 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (1.3.1)\n", + "Requirement already satisfied: frozenlist>=1.1.1 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (1.3.3)\n", + "Requirement already satisfied: charset-normalizer<3.0,>=2.0 in /usr/local/lib/python3.8/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning) (2.1.1)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (1.24.3)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (2.10)\n", - "Installing collected packages: protobuf\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (2022.12.7)\n", + "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->fsspec[http]>2021.06.0->pytorch_lightning) (4.0.0)\n", + "Installing collected packages: protobuf, torchmetrics, tensorboardX, lightning-utilities, pytorch_lightning\n", " Attempting uninstall: protobuf\n", " Found existing installation: protobuf 3.20.3\n", " Uninstalling protobuf-3.20.3:\n", @@ -269,31 +298,37 @@ "google-cloud-bigquery 3.4.1 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", "google-cloud-bigquery-storage 2.17.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\n", "google-api-core 2.11.0 requires protobuf!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<5.0.0dev,>=3.19.5, but you have protobuf 3.20.1 which is incompatible.\u001b[0m\u001b[31m\n", - "\u001b[0mSuccessfully installed protobuf-3.20.1\n", + "\u001b[0mSuccessfully installed lightning-utilities-0.5.0 protobuf-3.20.1 pytorch_lightning-1.8.6 tensorboardX-2.5.1 torchmetrics-0.11.0\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", - "Requirement already satisfied: transformers in /usr/local/lib/python3.8/dist-packages (4.25.1)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", - "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", - "Requirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", - "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Collecting transformers\n", + " Downloading transformers-4.25.1-py3-none-any.whl (5.8 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.8/5.8 MB\u001b[0m \u001b[31m80.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: numpy>=1.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (1.21.6)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.8/dist-packages (from transformers) (3.9.0)\n", - "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (21.3)\n", "Requirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.8/dist-packages (from transformers) (2022.6.2)\n", "Requirement already satisfied: huggingface-hub<1.0,>=0.10.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.11.1)\n", - "Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (0.13.2)\n", - "Requirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.10.0->transformers) (4.4.0)\n", + "Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.8/dist-packages (from transformers) (6.0)\n", + "Requirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.8/dist-packages (from transformers) (4.64.1)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from transformers) (2.25.1)\n", + "Requirement already satisfied: packaging>=20.0 in /usr/local/lib/python3.8/dist-packages (from transformers) (21.3)\n", + "Collecting tokenizers!=0.11.3,<0.14,>=0.11.1\n", + " Downloading tokenizers-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.6 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.6/7.6 MB\u001b[0m \u001b[31m109.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hRequirement already satisfied: typing-extensions>=3.7.4.3 in /usr/local/lib/python3.8/dist-packages (from huggingface-hub<1.0,>=0.10.0->transformers) (4.4.0)\n", "Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /usr/local/lib/python3.8/dist-packages (from packaging>=20.0->transformers) (3.0.9)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (4.0.0)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (1.24.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2022.12.7)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->transformers) (2.10)\n", + "Installing collected packages: tokenizers, transformers\n", + "Successfully installed tokenizers-0.13.2 transformers-4.25.1\n", "Cloning into 'latentblending'...\n", - "remote: Enumerating objects: 492, done.\u001b[K\n", - "remote: Counting objects: 100% (12/12), done.\u001b[K\n", - "remote: Compressing objects: 100% (9/9), done.\u001b[K\n", - "remote: Total 492 (delta 8), reused 3 (delta 3), pack-reused 480\u001b[K\n", - "Receiving objects: 100% (492/492), 8.31 MiB | 38.32 MiB/s, done.\n", - "Resolving deltas: 100% (285/285), done.\n", + "remote: Enumerating objects: 504, done.\u001b[K\n", + "remote: Counting objects: 100% (24/24), done.\u001b[K\n", + "remote: Compressing objects: 100% (19/19), done.\u001b[K\n", + "remote: Total 504 (delta 13), reused 12 (delta 5), pack-reused 480\u001b[K\n", + "Receiving objects: 100% (504/504), 8.32 MiB | 11.74 MiB/s, done.\n", + "Resolving deltas: 100% (290/290), done.\n", "Already up to date.\n" ] }, @@ -309,28 +344,28 @@ "output_type": "stream", "name": "stdout", "text": [ - "--2023-01-14 11:34:36-- https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.ckpt\n", - "Resolving huggingface.co (huggingface.co)... 54.235.118.239, 3.231.67.228, 54.144.222.129, ...\n", - "Connecting to huggingface.co (huggingface.co)|54.235.118.239|:443... connected.\n", + "--2023-01-14 14:33:52-- https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.ckpt\n", + "Resolving huggingface.co (huggingface.co)... 3.231.67.228, 54.235.118.239, 2600:1f18:147f:e800:671:b733:ecf3:a585, ...\n", + "Connecting to huggingface.co (huggingface.co)|3.231.67.228|:443... connected.\n", "HTTP request sent, awaiting response... 302 Found\n", - "Location: https://cdn-lfs.huggingface.co/repos/24/cb/24cbc2f7542236eb613b4f16b6802d7c2bef443e86cf9d076719733866e66c3a/88ecb782561455673c4b78d05093494b9c539fc6bfc08f3a9a4a0dd7b0b10f36?response-content-disposition=attachment%3B%20filename%3D%22v2-1_512-ema-pruned.ckpt%22&Expires=1673954879&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzI0L2NiLzI0Y2JjMmY3NTQyMjM2ZWI2MTNiNGYxNmI2ODAyZDdjMmJlZjQ0M2U4NmNmOWQwNzY3MTk3MzM4NjZlNjZjM2EvODhlY2I3ODI1NjE0NTU2NzNjNGI3OGQwNTA5MzQ5NGI5YzUzOWZjNmJmYzA4ZjNhOWE0YTBkZDdiMGIxMGYzNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnYyLTFfNTEyLWVtYS1wcnVuZWQuY2twdCUyMiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY3Mzk1NDg3OX19fV19&Signature=CQIu0p7KF1XEDsbXzzHKiKRBJl3js3tFBB7V8jHjRr8ZOdd941V4Q~8-FxaQvBwQBixQuUmZHdV41lz4eAwXUGq20iekgjpSYTt2-am3UxJMLqJ1HxWrFDxQuFZKapqJex6yNcPyXoBCXSz2q~Rmvyjrw2qrKcarYmJ2cOTGVGLxH2kf1SDB3g2O3rvRGN2IgYnwjU5f-5CnB5kR-tOFdOj~rYrhFHwirnWIYFSRQ37UMmRG60jNCOQcMhMKckFCfAfXD8F-DYucRwzJx3LzJ4gwgX10NQTQDU-U6~tKTSqtXNVL6MPa-DyyGJpCji4elKtFEmzCjHgY7P837IM4gA__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", - "--2023-01-14 11:34:36-- https://cdn-lfs.huggingface.co/repos/24/cb/24cbc2f7542236eb613b4f16b6802d7c2bef443e86cf9d076719733866e66c3a/88ecb782561455673c4b78d05093494b9c539fc6bfc08f3a9a4a0dd7b0b10f36?response-content-disposition=attachment%3B%20filename%3D%22v2-1_512-ema-pruned.ckpt%22&Expires=1673954879&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzI0L2NiLzI0Y2JjMmY3NTQyMjM2ZWI2MTNiNGYxNmI2ODAyZDdjMmJlZjQ0M2U4NmNmOWQwNzY3MTk3MzM4NjZlNjZjM2EvODhlY2I3ODI1NjE0NTU2NzNjNGI3OGQwNTA5MzQ5NGI5YzUzOWZjNmJmYzA4ZjNhOWE0YTBkZDdiMGIxMGYzNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnYyLTFfNTEyLWVtYS1wcnVuZWQuY2twdCUyMiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY3Mzk1NDg3OX19fV19&Signature=CQIu0p7KF1XEDsbXzzHKiKRBJl3js3tFBB7V8jHjRr8ZOdd941V4Q~8-FxaQvBwQBixQuUmZHdV41lz4eAwXUGq20iekgjpSYTt2-am3UxJMLqJ1HxWrFDxQuFZKapqJex6yNcPyXoBCXSz2q~Rmvyjrw2qrKcarYmJ2cOTGVGLxH2kf1SDB3g2O3rvRGN2IgYnwjU5f-5CnB5kR-tOFdOj~rYrhFHwirnWIYFSRQ37UMmRG60jNCOQcMhMKckFCfAfXD8F-DYucRwzJx3LzJ4gwgX10NQTQDU-U6~tKTSqtXNVL6MPa-DyyGJpCji4elKtFEmzCjHgY7P837IM4gA__&Key-Pair-Id=KVTP0A1DKRTAX\n", - "Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 108.156.83.35, 108.156.83.76, 108.156.83.97, ...\n", - "Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|108.156.83.35|:443... connected.\n", + "Location: https://cdn-lfs.huggingface.co/repos/24/cb/24cbc2f7542236eb613b4f16b6802d7c2bef443e86cf9d076719733866e66c3a/88ecb782561455673c4b78d05093494b9c539fc6bfc08f3a9a4a0dd7b0b10f36?response-content-disposition=attachment%3B%20filename%3D%22v2-1_512-ema-pruned.ckpt%22&Expires=1673960148&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzI0L2NiLzI0Y2JjMmY3NTQyMjM2ZWI2MTNiNGYxNmI2ODAyZDdjMmJlZjQ0M2U4NmNmOWQwNzY3MTk3MzM4NjZlNjZjM2EvODhlY2I3ODI1NjE0NTU2NzNjNGI3OGQwNTA5MzQ5NGI5YzUzOWZjNmJmYzA4ZjNhOWE0YTBkZDdiMGIxMGYzNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnYyLTFfNTEyLWVtYS1wcnVuZWQuY2twdCUyMiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY3Mzk2MDE0OH19fV19&Signature=VhMs5vw9dXi2BClvAWMP3Y08bngfpn1NJUc9JSG~36jviQ8L4peErE6f3xmdnI4aTGOOjAa6b879EauzgeikEqKitsCnGmgAMo94GNMOAtIBAGNUq~rxPyFyzwWr7TWvqd3AzpwkXOPUlabN2OeXW5a7YPxQ2GxKw0s8v0v6r8mx2paNkA36Qob28YgPOlHYE~C7taSKg82KRLQMDafOscf-QMIV22C5hdPa3Wt-UW0MbPSGDTrOtBqE3dRF01nTcqDmAkiseiLZdDwaSu1na9ZN-ieLHktIKqJsupMb8a7KveqlXA7QrOlMkJkb8k3CbebC6cpYtbzKCjOFoaCPjg__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n", + "--2023-01-14 14:33:52-- https://cdn-lfs.huggingface.co/repos/24/cb/24cbc2f7542236eb613b4f16b6802d7c2bef443e86cf9d076719733866e66c3a/88ecb782561455673c4b78d05093494b9c539fc6bfc08f3a9a4a0dd7b0b10f36?response-content-disposition=attachment%3B%20filename%3D%22v2-1_512-ema-pruned.ckpt%22&Expires=1673960148&Policy=eyJTdGF0ZW1lbnQiOlt7IlJlc291cmNlIjoiaHR0cHM6Ly9jZG4tbGZzLmh1Z2dpbmdmYWNlLmNvL3JlcG9zLzI0L2NiLzI0Y2JjMmY3NTQyMjM2ZWI2MTNiNGYxNmI2ODAyZDdjMmJlZjQ0M2U4NmNmOWQwNzY3MTk3MzM4NjZlNjZjM2EvODhlY2I3ODI1NjE0NTU2NzNjNGI3OGQwNTA5MzQ5NGI5YzUzOWZjNmJmYzA4ZjNhOWE0YTBkZDdiMGIxMGYzNj9yZXNwb25zZS1jb250ZW50LWRpc3Bvc2l0aW9uPWF0dGFjaG1lbnQlM0IlMjBmaWxlbmFtZSUzRCUyMnYyLTFfNTEyLWVtYS1wcnVuZWQuY2twdCUyMiIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY3Mzk2MDE0OH19fV19&Signature=VhMs5vw9dXi2BClvAWMP3Y08bngfpn1NJUc9JSG~36jviQ8L4peErE6f3xmdnI4aTGOOjAa6b879EauzgeikEqKitsCnGmgAMo94GNMOAtIBAGNUq~rxPyFyzwWr7TWvqd3AzpwkXOPUlabN2OeXW5a7YPxQ2GxKw0s8v0v6r8mx2paNkA36Qob28YgPOlHYE~C7taSKg82KRLQMDafOscf-QMIV22C5hdPa3Wt-UW0MbPSGDTrOtBqE3dRF01nTcqDmAkiseiLZdDwaSu1na9ZN-ieLHktIKqJsupMb8a7KveqlXA7QrOlMkJkb8k3CbebC6cpYtbzKCjOFoaCPjg__&Key-Pair-Id=KVTP0A1DKRTAX\n", + "Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 65.9.86.27, 65.9.86.11, 65.9.86.14, ...\n", + "Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|65.9.86.27|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 5214865159 (4.9G) [binary/octet-stream]\n", "Saving to: ‘v2-1_512-ema-pruned.ckpt’\n", "\n", - "v2-1_512-ema-pruned 100%[===================>] 4.86G 152MB/s in 33s \n", + "v2-1_512-ema-pruned 100%[===================>] 4.86G 146MB/s in 41s \n", "\n", - "2023-01-14 11:35:10 (151 MB/s) - ‘v2-1_512-ema-pruned.ckpt’ saved [5214865159/5214865159]\n", + "2023-01-14 14:34:33 (122 MB/s) - ‘v2-1_512-ema-pruned.ckpt’ saved [5214865159/5214865159]\n", "\n", - "--2023-01-14 11:35:10-- http://v2-1_512-ema-pruned.ckpt/\n", + "--2023-01-14 14:34:33-- http://v2-1_512-ema-pruned.ckpt/\n", "Resolving v2-1_512-ema-pruned.ckpt (v2-1_512-ema-pruned.ckpt)... failed: Name or service not known.\n", "wget: unable to resolve host address ‘v2-1_512-ema-pruned.ckpt’\n", - "FINISHED --2023-01-14 11:35:10--\n", - "Total wall clock time: 33s\n", - "Downloaded: 1 files, 4.9G in 33s (151 MB/s)\n", + "FINISHED --2023-01-14 14:34:33--\n", + "Total wall clock time: 42s\n", + "Downloaded: 1 files, 4.9G in 41s (122 MB/s)\n", "LatentDiffusion: Running in eps-prediction mode\n", "Setting up MemoryEfficientCrossAttention. Query dim is 320, context_dim is None and using 5 heads.\n", "Setting up MemoryEfficientCrossAttention. Query dim is 320, context_dim is 1024 and using 5 heads.\n", @@ -381,7 +416,7 @@ "application/vnd.jupyter.widget-view+json": { "version_major": 2, "version_minor": 0, - "model_id": "495e49b365db4a63b0a6c0c1a18618f1" + "model_id": "cb1224fc26f546ba801641e8fa1fd886" } }, "metadata": {} @@ -391,75 +426,29 @@ "name": "stdout", "text": [ "Colab notebook detected. This cell will run indefinitely so that you can see errors and logs. To turn off, set debug=False in launch().\n", - "Running on public URL: https://be577a0c-1c52-4507.gradio.live\n", + "Running on public URL: https://014826da-2448-4ebf.gradio.live\n", "\n", "This share link expires in 72 hours. For free permanent hosting and GPU upgrades (NEW!), check out Spaces: https://huggingface.co/spaces\n", - "STARTING DIFFUSION!\n", - "autosetup_branching: num_inference_steps: 20 list_nmb_branches: [2, 3, 5, 9] list_injection_idx: [0, 5, 11, 17]\n" - ] - }, - { - "output_type": "display_data", - "data": { - "text/plain": [ - "computing transition: 0%| | 0/21 [00:00 https://014826da-2448-4ebf.gradio.live\n" ] } ], "source": [ "#@title\n", "# installs\n", + "!pip install open-clip-torch\n", "!pip install omegaconf\n", "!pip install fastcore -U\n", "!pip install Pillow\n", "!pip install ffmpeg-python\n", "!pip install einops\n", - "\n", - "!pip install open-clip-torch\n", "!pip install gradio\n", "\n", - "import os\n", + "import os, sys\n", "from subprocess import getoutput\n", "\n", + "# Xformers\n", "os.system(\"pip install --extra-index-url https://download.pytorch.org/whl/cu113 torch torchvision==0.13.1+cu113\")\n", "os.system(\"pip install triton==2.0.0.dev20220701\")\n", "gpu_info = getoutput('nvidia-smi')\n", @@ -471,16 +460,13 @@ "!pip install pytorch_lightning\n", "!pip install transformers\n", "\n", - "# git\n", + "# Get Latent Blending from git / pull \n", "!git clone https://github.com/lunarring/latentblending\n", "!cd latentblending; git pull; cd ..\n", - "\n", - "\n", - "\n", - "import sys\n", "sys.path.append(\"/content/latentblending\")\n", + "\n", + "# Imports\n", "import torch\n", - "torch.backends.cudnn.benchmark = False\n", "import numpy as np\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", @@ -488,13 +474,15 @@ "import torch\n", "from tqdm.auto import tqdm\n", "from PIL import Image\n", - "# import matplotlib.pyplot as plt\n", "import torch\n", - "from movie_util import MovieSaver\n", "from typing import Callable, List, Optional, Union\n", - "from latent_blending import LatentBlending, add_frames_linear_interp\n", + "from latent_blending import LatentBlending, add_frames_linear_interp, get_time, yml_save, LatentBlending, compare_dicts\n", "from stable_diffusion_holder import StableDiffusionHolder\n", + "from gradio_ui import BlendingFrontend\n", + "import gradio as gr\n", + "\n", "torch.set_grad_enabled(False)\n", + "torch.backends.cudnn.benchmark = False\n", "\n", "\n", "#%% First let us spawn a stable diffusion holder\n", @@ -515,11 +503,10 @@ "import gradio as gr\n", "\n", "if __name__ == \"__main__\": \n", - " \n", - " self = BlendingFrontend(sdh)\n", + " \n", + " self = BlendingFrontend(sdh) # Yes this is possible in python and yes it is an awesome trick\n", " \n", " with gr.Blocks() as demo:\n", - " \n", " with gr.Row():\n", " prompt1 = gr.Textbox(label=\"prompt 1\")\n", " prompt2 = gr.Textbox(label=\"prompt 2\")\n", @@ -537,33 +524,27 @@ " \n", " with gr.Row():\n", " depth_strength = gr.Slider(0.01, 0.99, self.depth_strength, step=0.01, label='depth_strength', interactive=True) \n", + " duration = gr.Slider(0.1, 30, self.duration, step=0.1, label='video duration', interactive=True) \n", " guidance_scale_mid_damper = gr.Slider(0.01, 2.0, self.guidance_scale_mid_damper, step=0.01, label='guidance_scale_mid_damper', interactive=True) \n", - " mid_compression_scaler = gr.Slider(1.0, 2.0, self.mid_compression_scaler, step=0.01, label='mid_compression_scaler', interactive=True) \n", - " \n", + " \n", " with gr.Row():\n", - " b_newseed1 = gr.Button(\"rand seed 1\")\n", " seed1 = gr.Number(42, label=\"seed 1\", interactive=True)\n", - " b_newseed2 = gr.Button(\"rand seed 2\")\n", + " b_newseed1 = gr.Button(\"randomize seed 1\", variant='secondary')\n", " seed2 = gr.Number(420, label=\"seed 2\", interactive=True)\n", - " \n", + " b_newseed2 = gr.Button(\"randomize seed 2\", variant='secondary')\n", " with gr.Row():\n", - " b_run = gr.Button('step1: run preview')\n", - " \n", + " b_compute_transition = gr.Button('compute transition', variant='primary')\n", + " \n", " with gr.Row():\n", " img1 = gr.Image(label=\"1/5\")\n", " img2 = gr.Image(label=\"2/5\")\n", " img3 = gr.Image(label=\"3/5\")\n", " img4 = gr.Image(label=\"4/5\")\n", " img5 = gr.Image(label=\"5/5\")\n", - " \n", - " with gr.Row():\n", - " b_save = gr.Button('step2: render video')\n", - " vid = gr.Video()\n", " \n", " with gr.Row():\n", - " duration = gr.Slider(0.1, 30, self.duration, step=0.1, label='duration', interactive=True) \n", - " fps = gr.Slider(1, 120, self.fps, step=1, label='fps', interactive=True)\n", - " \n", + " vid_transition = gr.Video()\n", + " \n", " # Bind the on-change methods\n", " depth_strength.change(fn=self.change_depth_strength, inputs=depth_strength)\n", " num_inference_steps.change(fn=self.change_num_inference_steps, inputs=num_inference_steps)\n", @@ -571,25 +552,22 @@ " \n", " guidance_scale.change(fn=self.change_guidance_scale, inputs=guidance_scale)\n", " guidance_scale_mid_damper.change(fn=self.change_guidance_scale_mid_damper, inputs=guidance_scale_mid_damper)\n", - " mid_compression_scaler.change(fn=self.change_mid_compression_scaler, inputs=mid_compression_scaler)\n", " \n", " height.change(fn=self.change_height, inputs=height)\n", " width.change(fn=self.change_width, inputs=width)\n", - " prompt1.change(fn=self.change_prompt1, inputs=prompt1)\n", - " prompt2.change(fn=self.change_prompt2, inputs=prompt2)\n", " negative_prompt.change(fn=self.change_negative_prompt, inputs=negative_prompt)\n", " seed1.change(fn=self.change_seed1, inputs=seed1)\n", " seed2.change(fn=self.change_seed2, inputs=seed2)\n", - " fps.change(fn=self.change_fps, inputs=fps)\n", " duration.change(fn=self.change_duration, inputs=duration)\n", " branch1_influence.change(fn=self.change_branch1_influence, inputs=branch1_influence)\n", " \n", " b_newseed1.click(self.randomize_seed1, outputs=seed1)\n", " b_newseed2.click(self.randomize_seed2, outputs=seed2)\n", - " b_run.click(self.run, outputs=[img1, img2, img3, img4, img5])\n", - " b_save.click(self.save, outputs=vid)\n", - " \n", - " demo.launch(share=self.share, inbrowser=True, debug=True, inline=False)\n" + " b_compute_transition.click(self.compute_transition, \n", + " inputs=[prompt1, prompt2],\n", + " outputs=[img1, img2, img3, img4, img5, vid_transition])\n", + " \n", + " demo.launch(share=self.share, inbrowser=True, inline=False, debug=True)\n" ] } ], @@ -609,7 +587,7 @@ }, "widgets": { "application/vnd.jupyter.widget-state+json": { - "495e49b365db4a63b0a6c0c1a18618f1": { + "cb1224fc26f546ba801641e8fa1fd886": { "model_module": "@jupyter-widgets/controls", "model_name": "HBoxModel", "model_module_version": "1.5.0", @@ -624,14 +602,14 @@ "_view_name": "HBoxView", "box_style": "", "children": [ - "IPY_MODEL_0937bb0a42a04cf2a699cd0dfdb08f58", - "IPY_MODEL_3cd77f4970ca4383af3793a0def99548", - "IPY_MODEL_90f146b625824594bafaa2c34a985c53" + "IPY_MODEL_cdb7a1adee244a7083715e92c57860dd", + "IPY_MODEL_2d50250543bd42dfb8d04a921e2317be", + "IPY_MODEL_db8701fb79c840768e153f01791855dc" ], - "layout": "IPY_MODEL_23a8dffdfdf54dce87c1b0d06c215a19" + "layout": "IPY_MODEL_1ac2c23ce8134ff4b61f6bd18637ec85" } }, - "0937bb0a42a04cf2a699cd0dfdb08f58": { + "cdb7a1adee244a7083715e92c57860dd": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -646,13 +624,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_f274a85e13ea4af89d6cca1ca94a2d5f", + "layout": "IPY_MODEL_610d37336d6d4fb29ccf7add5f031136", "placeholder": "​", - "style": "IPY_MODEL_7393e0648acb43a995b7ef7f0bb0daaf", + "style": "IPY_MODEL_0e5aa1e9d09a49c98836059467085af9", "value": "Downloading: 100%" } }, - "3cd77f4970ca4383af3793a0def99548": { + "2d50250543bd42dfb8d04a921e2317be": { "model_module": "@jupyter-widgets/controls", "model_name": "FloatProgressModel", "model_module_version": "1.5.0", @@ -668,15 +646,15 @@ "bar_style": "success", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_40b1274ad4124a73ac681528e2a693ad", + "layout": "IPY_MODEL_480afd6353a342d89e4c94e862b4886b", "max": 3944692325, "min": 0, "orientation": "horizontal", - "style": "IPY_MODEL_a24ef8d929bd49469975a60630134ab3", + "style": "IPY_MODEL_baee0201374a495085e24fb57e2a2021", "value": 3944692325 } }, - "90f146b625824594bafaa2c34a985c53": { + "db8701fb79c840768e153f01791855dc": { "model_module": "@jupyter-widgets/controls", "model_name": "HTMLModel", "model_module_version": "1.5.0", @@ -691,13 +669,13 @@ "_view_name": "HTMLView", "description": "", "description_tooltip": null, - "layout": "IPY_MODEL_cd09423a3d4b48f1ac9c9b618e64d233", + "layout": "IPY_MODEL_b2b87327203e41a4a9655cdd96843f8e", "placeholder": "​", - "style": "IPY_MODEL_74033ca88c5d4a6a8c3cb9ad739aca97", - "value": " 3.94G/3.94G [00:55<00:00, 83.3MB/s]" + "style": "IPY_MODEL_22da2842f1194df7b13dd88403aa6863", + "value": " 3.94G/3.94G [01:02<00:00, 70.5MB/s]" } }, - "23a8dffdfdf54dce87c1b0d06c215a19": { + "1ac2c23ce8134ff4b61f6bd18637ec85": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -749,7 +727,7 @@ "width": null } }, - "f274a85e13ea4af89d6cca1ca94a2d5f": { + "610d37336d6d4fb29ccf7add5f031136": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -801,7 +779,7 @@ "width": null } }, - "7393e0648acb43a995b7ef7f0bb0daaf": { + "0e5aa1e9d09a49c98836059467085af9": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0", @@ -816,7 +794,7 @@ "description_width": "" } }, - "40b1274ad4124a73ac681528e2a693ad": { + "480afd6353a342d89e4c94e862b4886b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -868,7 +846,7 @@ "width": null } }, - "a24ef8d929bd49469975a60630134ab3": { + "baee0201374a495085e24fb57e2a2021": { "model_module": "@jupyter-widgets/controls", "model_name": "ProgressStyleModel", "model_module_version": "1.5.0", @@ -884,7 +862,7 @@ "description_width": "" } }, - "cd09423a3d4b48f1ac9c9b618e64d233": { + "b2b87327203e41a4a9655cdd96843f8e": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", @@ -936,691 +914,7 @@ "width": null } }, - "74033ca88c5d4a6a8c3cb9ad739aca97": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "1eff4f1734224561a746267c4290620f": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_08d99a48efd14c1e9423eeb269f12d9a", - "IPY_MODEL_e541fae739584cc3b9bbbf490f8fa2cb", - "IPY_MODEL_e36754be14a6467e8afb564c87a53d51" - ], - "layout": "IPY_MODEL_93fe3baa643548b185cc1bcb7e3945d8" - } - }, - "08d99a48efd14c1e9423eeb269f12d9a": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_f3acd617d38740c480bc5d7470da1695", - "placeholder": "​", - "style": "IPY_MODEL_ba4336f6577c45bea4af940ea08b57d1", - "value": "computing transition: 100%" - } - }, - "e541fae739584cc3b9bbbf490f8fa2cb": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_86554816cf7c4012bf702c7d833ec685", - "max": 21, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_3e6d15c0a3cb431a80fe7448620af0bc", - "value": 21 - } - }, - "e36754be14a6467e8afb564c87a53d51": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_2eda918e13284c4c9afd7f167cf4af56", - "placeholder": "​", - "style": "IPY_MODEL_4f0061c718f847b29b29a20388fab641", - "value": " 21/21 [00:25<00:00, 1.19s/it]" - } - }, - "93fe3baa643548b185cc1bcb7e3945d8": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "f3acd617d38740c480bc5d7470da1695": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "ba4336f6577c45bea4af940ea08b57d1": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "86554816cf7c4012bf702c7d833ec685": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "3e6d15c0a3cb431a80fe7448620af0bc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "2eda918e13284c4c9afd7f167cf4af56": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "4f0061c718f847b29b29a20388fab641": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "1eb11001041144859375d5feb1b4c5bc": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HBoxModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HBoxModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_61236e7b09954ae8ba0e575cc9f345e9", - "IPY_MODEL_15e76ca9be0d4f7484eba56d5a22a6ee", - "IPY_MODEL_2f09ee0caddb4a9d94a8616fc99607a5" - ], - "layout": "IPY_MODEL_283eae336370485181bd8ea172debc9a" - } - }, - "61236e7b09954ae8ba0e575cc9f345e9": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_51385d57b85d4440ada34a57f3bd945a", - "placeholder": "​", - "style": "IPY_MODEL_5e3576e621584100ae7f8746cbcdf75c", - "value": "100%" - } - }, - "15e76ca9be0d4f7484eba56d5a22a6ee": { - "model_module": "@jupyter-widgets/controls", - "model_name": "FloatProgressModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "FloatProgressModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "ProgressView", - "bar_style": "success", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_ab6d9d0cf3204fc9bf94e23b2ce22256", - "max": 300, - "min": 0, - "orientation": "horizontal", - "style": "IPY_MODEL_baae00db06d1497eab6e1b5acda26c56", - "value": 300 - } - }, - "2f09ee0caddb4a9d94a8616fc99607a5": { - "model_module": "@jupyter-widgets/controls", - "model_name": "HTMLModel", - "model_module_version": "1.5.0", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "HTMLModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/controls", - "_view_module_version": "1.5.0", - "_view_name": "HTMLView", - "description": "", - "description_tooltip": null, - "layout": "IPY_MODEL_7e77f56335944b30a408cdd2b6a7420b", - "placeholder": "​", - "style": "IPY_MODEL_08ccfb2c004a46a995723d6e6395b345", - "value": " 300/300 [00:03<00:00, 139.77it/s]" - } - }, - "283eae336370485181bd8ea172debc9a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "51385d57b85d4440ada34a57f3bd945a": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "5e3576e621584100ae7f8746cbcdf75c": { - "model_module": "@jupyter-widgets/controls", - "model_name": "DescriptionStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "DescriptionStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "description_width": "" - } - }, - "ab6d9d0cf3204fc9bf94e23b2ce22256": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "baae00db06d1497eab6e1b5acda26c56": { - "model_module": "@jupyter-widgets/controls", - "model_name": "ProgressStyleModel", - "model_module_version": "1.5.0", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "1.5.0", - "_model_name": "ProgressStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "StyleView", - "bar_color": null, - "description_width": "" - } - }, - "7e77f56335944b30a408cdd2b6a7420b": { - "model_module": "@jupyter-widgets/base", - "model_name": "LayoutModel", - "model_module_version": "1.2.0", - "state": { - "_model_module": "@jupyter-widgets/base", - "_model_module_version": "1.2.0", - "_model_name": "LayoutModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "1.2.0", - "_view_name": "LayoutView", - "align_content": null, - "align_items": null, - "align_self": null, - "border": null, - "bottom": null, - "display": null, - "flex": null, - "flex_flow": null, - "grid_area": null, - "grid_auto_columns": null, - "grid_auto_flow": null, - "grid_auto_rows": null, - "grid_column": null, - "grid_gap": null, - "grid_row": null, - "grid_template_areas": null, - "grid_template_columns": null, - "grid_template_rows": null, - "height": null, - "justify_content": null, - "justify_items": null, - "left": null, - "margin": null, - "max_height": null, - "max_width": null, - "min_height": null, - "min_width": null, - "object_fit": null, - "object_position": null, - "order": null, - "overflow": null, - "overflow_x": null, - "overflow_y": null, - "padding": null, - "right": null, - "top": null, - "visibility": null, - "width": null - } - }, - "08ccfb2c004a46a995723d6e6395b345": { + "22da2842f1194df7b13dd88403aa6863": { "model_module": "@jupyter-widgets/controls", "model_name": "DescriptionStyleModel", "model_module_version": "1.5.0",