{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "CLIPasso.ipynb", "provenance": [], "collapsed_sections": [ "rE1gTfztziNi" ], "include_colab_link": true }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" }, "accelerator": "GPU" }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "source": [ "# CLIPasso: Semantically-Aware Object Sketching\n", "\n", "Note that the colab version is slower.\n", "For faster sketching with multiprocessing please refer to the github repository and follow the running instructions.\n", "\n", "\n", "**Define your target image**
\n", "You can upload your own target image to sketch, please place it under \"CLIPasso/target_images/\".\n", "\n" ], "metadata": { "id": "Ht4wCUlzwi18" } }, { "cell_type": "markdown", "source": [ "# (1) Install Dependencies and Clone the Repo\n", "\n", "This stage might take a few minutes\n", "\n", "* Make sure your Hardware accelerator is set to GPU: Runtime > Change runtime type > Hardware Accelerator \n", "* Make sure to **restart the runtime** after this stage is done\n", "\n", "\n", "\n" ], "metadata": { "id": "1V-3h8-awFYo" } }, { "cell_type": "code", "source": [ "%cd /usr/local/\n", "!pwd\n", "!ls\n", "!rm -rf cuda\n", "!ln -s /usr/local/cuda-10.1 /usr/local/cuda\n", "!stat cuda\n", "!nvcc --version\n", "\n", "%cd /content/\n", "!git clone https://github.com/yael-vinker/CLIPasso.git\n", "%cd CLIPasso\n", "!pip install -r requirements.txt\n", "!pip install torch==1.7.1+cu101 torchvision==0.8.2+cu101 -f https://download.pytorch.org/whl/torch_stable.html\n", "\n" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "b0mW2URSK_Nd", "outputId": "16d48e4e-541b-477f-ae62-6bbcfd4f0e36" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/usr/local\n", "/usr/local\n", "bin\t cuda-10.1 cuda-11.1 _gcs_config_ops.so licensing\tshare\n", "cuda\t cuda-11 etc\t include\t man\tsrc\n", "cuda-10.0 cuda-11.0 games\t lib\t\t sbin\txgboost\n", " File: cuda -> /usr/local/cuda-10.1\n", " Size: 20 \tBlocks: 0 IO Block: 4096 symbolic link\n", "Device: 24h/36d\tInode: 3801091 Links: 1\n", "Access: (0777/lrwxrwxrwx) Uid: ( 0/ root) Gid: ( 0/ root)\n", "Access: 2022-03-21 12:54:15.647125810 +0000\n", "Modify: 2022-03-21 12:54:15.540125904 +0000\n", "Change: 2022-03-21 12:54:15.540125904 +0000\n", " Birth: -\n", "nvcc: NVIDIA (R) Cuda compiler driver\n", "Copyright (c) 2005-2019 NVIDIA Corporation\n", "Built on Sun_Jul_28_19:07:16_PDT_2019\n", "Cuda compilation tools, release 10.1, V10.1.243\n", "/content\n", "Cloning into 'CLIPasso'...\n", "remote: Enumerating objects: 319, done.\u001b[K\n", "remote: Counting objects: 100% (319/319), done.\u001b[K\n", "remote: Compressing objects: 100% (251/251), done.\u001b[K\n", "remote: Total 319 (delta 166), reused 131 (delta 55), pack-reused 0\u001b[K\n", "Receiving objects: 100% (319/319), 9.33 MiB | 17.82 MiB/s, done.\n", "Resolving deltas: 100% (166/166), done.\n", "/content/CLIPasso\n", "Collecting ftfy==6.0.3\n", " Downloading ftfy-6.0.3.tar.gz (64 kB)\n", "\u001b[K |████████████████████████████████| 64 kB 2.0 MB/s \n", "\u001b[?25hCollecting cssutils==2.3.0\n", " Downloading cssutils-2.3.0-py3-none-any.whl (404 kB)\n", "\u001b[K |████████████████████████████████| 404 kB 11.7 MB/s \n", "\u001b[?25hCollecting gdown==4.4.0\n", " Downloading gdown-4.4.0.tar.gz (14 kB)\n", " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Preparing wheel metadata ... \u001b[?25l\u001b[?25hdone\n", "Collecting imageio==2.9.0\n", " Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB)\n", "\u001b[K |████████████████████████████████| 3.3 MB 40.0 MB/s \n", "\u001b[?25hCollecting imageio-ffmpeg==0.4.4\n", " Downloading imageio_ffmpeg-0.4.4-py3-none-manylinux2010_x86_64.whl (26.9 MB)\n", "\u001b[K |████████████████████████████████| 26.9 MB 58.9 MB/s \n", "\u001b[?25hCollecting importlib-metadata==4.6.4\n", " Downloading importlib_metadata-4.6.4-py3-none-any.whl (17 kB)\n", "Collecting ipykernel==6.1.0\n", " Downloading ipykernel-6.1.0-py3-none-any.whl (122 kB)\n", "\u001b[K |████████████████████████████████| 122 kB 44.5 MB/s \n", "\u001b[?25hCollecting ipython==7.26.0\n", " Downloading ipython-7.26.0-py3-none-any.whl (786 kB)\n", "\u001b[K |████████████████████████████████| 786 kB 45.3 MB/s \n", "\u001b[?25hRequirement already satisfied: ipython-genutils==0.2.0 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 9)) (0.2.0)\n", "Collecting json5==0.9.5\n", " Downloading json5-0.9.5-py2.py3-none-any.whl (17 kB)\n", "Collecting jsonpatch==1.32\n", " Downloading jsonpatch-1.32-py2.py3-none-any.whl (12 kB)\n", "Collecting jsonpointer==2.1\n", " Downloading jsonpointer-2.1-py2.py3-none-any.whl (7.4 kB)\n", "Collecting jsonschema==3.2.0\n", " Downloading jsonschema-3.2.0-py2.py3-none-any.whl (56 kB)\n", "\u001b[K |████████████████████████████████| 56 kB 4.2 MB/s \n", "\u001b[?25hCollecting jupyter-client==6.1.12\n", " Downloading jupyter_client-6.1.12-py3-none-any.whl (112 kB)\n", "\u001b[K |████████████████████████████████| 112 kB 44.8 MB/s \n", "\u001b[?25hCollecting jupyter-core==4.7.1\n", " Downloading jupyter_core-4.7.1-py3-none-any.whl (82 kB)\n", "\u001b[K |████████████████████████████████| 82 kB 1.1 MB/s \n", "\u001b[?25hCollecting jupyter-server==1.10.2\n", " Downloading jupyter_server-1.10.2-py3-none-any.whl (392 kB)\n", "\u001b[K |████████████████████████████████| 392 kB 48.7 MB/s \n", "\u001b[?25hCollecting jupyterlab==3.1.6\n", " Downloading jupyterlab-3.1.6-py3-none-any.whl (8.6 MB)\n", "\u001b[K |████████████████████████████████| 8.6 MB 23.2 MB/s \n", "\u001b[?25hRequirement already satisfied: jupyterlab-pygments==0.1.2 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 18)) (0.1.2)\n", "Collecting jupyterlab-server==2.7.0\n", " Downloading jupyterlab_server-2.7.0-py3-none-any.whl (55 kB)\n", "\u001b[K |████████████████████████████████| 55 kB 3.5 MB/s \n", "\u001b[?25hCollecting matplotlib==3.4.2\n", " Downloading matplotlib-3.4.2-cp37-cp37m-manylinux1_x86_64.whl (10.3 MB)\n", "\u001b[K |████████████████████████████████| 10.3 MB 35.8 MB/s \n", "\u001b[?25hCollecting matplotlib-inline==0.1.2\n", " Downloading matplotlib_inline-0.1.2-py3-none-any.whl (8.2 kB)\n", "Collecting moviepy==1.0.3\n", " Downloading moviepy-1.0.3.tar.gz (388 kB)\n", "\u001b[K |████████████████████████████████| 388 kB 44.9 MB/s \n", "\u001b[?25hCollecting notebook==6.4.3\n", " Downloading notebook-6.4.3-py3-none-any.whl (9.9 MB)\n", "\u001b[K |████████████████████████████████| 9.9 MB 31.2 MB/s \n", "\u001b[?25hCollecting numba==0.53.1\n", " Downloading numba-0.53.1-cp37-cp37m-manylinux2014_x86_64.whl (3.4 MB)\n", "\u001b[K |████████████████████████████████| 3.4 MB 35.8 MB/s \n", "\u001b[?25hCollecting numpy==1.20.3\n", " Downloading numpy-1.20.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.3 MB)\n", "\u001b[K |████████████████████████████████| 15.3 MB 184 kB/s \n", "\u001b[?25hRequirement already satisfied: nvidia-ml-py3==7.352.0 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 26)) (7.352.0)\n", "Collecting opencv-python==4.5.3.56\n", " Downloading opencv_python-4.5.3.56-cp37-cp37m-manylinux2014_x86_64.whl (49.9 MB)\n", "\u001b[K |████████████████████████████████| 49.9 MB 95 kB/s \n", "\u001b[?25hCollecting pandas==1.3.2\n", " Downloading pandas-1.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB)\n", "\u001b[K |████████████████████████████████| 11.3 MB 35.2 MB/s \n", "\u001b[?25hCollecting pathtools==0.1.2\n", " Downloading pathtools-0.1.2.tar.gz (11 kB)\n", "Collecting Pillow==8.2.0\n", " Downloading Pillow-8.2.0-cp37-cp37m-manylinux1_x86_64.whl (3.0 MB)\n", "\u001b[K |████████████████████████████████| 3.0 MB 33.6 MB/s \n", "\u001b[?25hCollecting pip==21.2.2\n", " Downloading pip-21.2.2-py3-none-any.whl (1.6 MB)\n", "\u001b[K |████████████████████████████████| 1.6 MB 39.4 MB/s \n", "\u001b[?25hCollecting plotly==5.2.1\n", " Downloading plotly-5.2.1-py2.py3-none-any.whl (21.8 MB)\n", "\u001b[K |████████████████████████████████| 21.8 MB 1.3 MB/s \n", "\u001b[?25hCollecting psutil==5.8.0\n", " Downloading psutil-5.8.0-cp37-cp37m-manylinux2010_x86_64.whl (296 kB)\n", "\u001b[K |████████████████████████████████| 296 kB 52.8 MB/s \n", "\u001b[?25hRequirement already satisfied: ptyprocess==0.7.0 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 34)) (0.7.0)\n", "Collecting pyaml==21.8.3\n", " Downloading pyaml-21.8.3-py2.py3-none-any.whl (17 kB)\n", "Collecting regex==2021.11.10\n", " Downloading regex-2021.11.10-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (749 kB)\n", "\u001b[K |████████████████████████████████| 749 kB 44.7 MB/s \n", "\u001b[?25hCollecting scikit-image==0.18.1\n", " Downloading scikit_image-0.18.1-cp37-cp37m-manylinux1_x86_64.whl (29.2 MB)\n", "\u001b[K |████████████████████████████████| 29.2 MB 1.4 MB/s \n", "\u001b[?25hRequirement already satisfied: scikit-learn==1.0.2 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 38)) (1.0.2)\n", "Collecting scipy==1.6.2\n", " Downloading scipy-1.6.2-cp37-cp37m-manylinux1_x86_64.whl (27.4 MB)\n", "\u001b[K |████████████████████████████████| 27.4 MB 1.6 MB/s \n", "\u001b[?25hRequirement already satisfied: seaborn==0.11.2 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 40)) (0.11.2)\n", "Collecting subprocess32==3.5.4\n", " Downloading subprocess32-3.5.4.tar.gz (97 kB)\n", "\u001b[K |████████████████████████████████| 97 kB 6.3 MB/s \n", "\u001b[?25hCollecting svgpathtools==1.4.1\n", " Downloading svgpathtools-1.4.1-py2.py3-none-any.whl (63 kB)\n", "\u001b[K |████████████████████████████████| 63 kB 1.8 MB/s \n", "\u001b[?25hCollecting svgwrite==1.4.1\n", " Downloading svgwrite-1.4.1-py3-none-any.whl (66 kB)\n", "\u001b[K |████████████████████████████████| 66 kB 5.5 MB/s \n", "\u001b[?25hCollecting torch==1.7.1\n", " Downloading torch-1.7.1-cp37-cp37m-manylinux1_x86_64.whl (776.8 MB)\n", "\u001b[K |████████████████████████████████| 776.8 MB 19 kB/s \n", "\u001b[?25hCollecting torch-tools==0.1.5\n", " Downloading torch_tools-0.1.5-py3-none-any.whl (43 kB)\n", "\u001b[K |████████████████████████████████| 43 kB 1.7 MB/s \n", "\u001b[?25hCollecting torchfile==0.1.0\n", " Downloading torchfile-0.1.0.tar.gz (5.2 kB)\n", "Collecting torchvision==0.8.2\n", " Downloading torchvision-0.8.2-cp37-cp37m-manylinux1_x86_64.whl (12.8 MB)\n", "\u001b[K |████████████████████████████████| 12.8 MB 33.9 MB/s \n", "\u001b[?25hCollecting tqdm==4.62.1\n", " Downloading tqdm-4.62.1-py2.py3-none-any.whl (76 kB)\n", "\u001b[K |████████████████████████████████| 76 kB 4.6 MB/s \n", "\u001b[?25hCollecting visdom==0.1.8.9\n", " Downloading visdom-0.1.8.9.tar.gz (676 kB)\n", "\u001b[K |████████████████████████████████| 676 kB 47.6 MB/s \n", "\u001b[?25hCollecting wandb==0.12.0\n", " Downloading wandb-0.12.0-py2.py3-none-any.whl (1.6 MB)\n", "\u001b[K |████████████████████████████████| 1.6 MB 36.6 MB/s \n", "\u001b[?25hRequirement already satisfied: webencodings==0.5.1 in /usr/local/lib/python3.7/dist-packages (from -r requirements.txt (line 51)) (0.5.1)\n", "Collecting websocket-client==0.57.0\n", " Downloading websocket_client-0.57.0-py2.py3-none-any.whl (200 kB)\n", "\u001b[K |████████████████████████████████| 200 kB 35.1 MB/s \n", "\u001b[?25hCollecting zipp==3.5.0\n", " Downloading zipp-3.5.0-py3-none-any.whl (5.7 kB)\n", "Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from ftfy==6.0.3->-r requirements.txt (line 1)) (0.2.5)\n", "Requirement already satisfied: requests[socks] in /usr/local/lib/python3.7/dist-packages (from gdown==4.4.0->-r requirements.txt (line 3)) (2.23.0)\n", "Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.7/dist-packages (from gdown==4.4.0->-r requirements.txt (line 3)) (4.6.3)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.7/dist-packages (from gdown==4.4.0->-r requirements.txt (line 3)) (3.6.0)\n", "Requirement already satisfied: six in /usr/local/lib/python3.7/dist-packages (from gdown==4.4.0->-r requirements.txt (line 3)) (1.15.0)\n", "Requirement already satisfied: typing-extensions>=3.6.4 in /usr/local/lib/python3.7/dist-packages (from importlib-metadata==4.6.4->-r requirements.txt (line 6)) (3.10.0.2)\n", "Collecting argcomplete>=1.12.3\n", " Downloading argcomplete-2.0.0-py2.py3-none-any.whl (37 kB)\n", "Requirement already satisfied: traitlets<6.0,>=4.1.0 in /usr/local/lib/python3.7/dist-packages (from ipykernel==6.1.0->-r requirements.txt (line 7)) (5.1.1)\n", "Requirement already satisfied: debugpy<2.0,>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from ipykernel==6.1.0->-r requirements.txt (line 7)) (1.0.0)\n", "Requirement already satisfied: tornado<7.0,>=4.2 in /usr/local/lib/python3.7/dist-packages (from ipykernel==6.1.0->-r requirements.txt (line 7)) (5.1.1)\n", "Requirement already satisfied: pickleshare in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (0.7.5)\n", "Requirement already satisfied: pygments in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (2.6.1)\n", "Requirement already satisfied: backcall in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (0.2.0)\n", "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (57.4.0)\n", "Requirement already satisfied: decorator in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (4.4.2)\n", "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (4.8.0)\n", "Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.7/dist-packages (from ipython==7.26.0->-r requirements.txt (line 8)) (0.18.1)\n", "Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0\n", " Downloading prompt_toolkit-3.0.28-py3-none-any.whl (380 kB)\n", "\u001b[K |████████████████████████████████| 380 kB 44.5 MB/s \n", "\u001b[?25hRequirement already satisfied: pyrsistent>=0.14.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema==3.2.0->-r requirements.txt (line 13)) (0.18.1)\n", "Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.7/dist-packages (from jsonschema==3.2.0->-r requirements.txt (line 13)) (21.4.0)\n", "Requirement already satisfied: pyzmq>=13 in /usr/local/lib/python3.7/dist-packages (from jupyter-client==6.1.12->-r requirements.txt (line 14)) (22.3.0)\n", "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from jupyter-client==6.1.12->-r requirements.txt (line 14)) (2.8.2)\n", "Requirement already satisfied: Send2Trash in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (1.8.0)\n", "Collecting anyio<4,>=3.1.0\n", " Downloading anyio-3.5.0-py3-none-any.whl (79 kB)\n", "\u001b[K |████████████████████████████████| 79 kB 7.4 MB/s \n", "\u001b[?25hCollecting tornado<7.0,>=4.2\n", " Downloading tornado-6.1-cp37-cp37m-manylinux2010_x86_64.whl (428 kB)\n", "\u001b[K |████████████████████████████████| 428 kB 49.2 MB/s \n", "\u001b[?25hRequirement already satisfied: jinja2 in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (2.11.3)\n", "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (21.3.0)\n", "Requirement already satisfied: nbformat in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (5.1.3)\n", "Requirement already satisfied: nbconvert in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (5.6.1)\n", "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (0.13.3)\n", "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.7/dist-packages (from jupyter-server==1.10.2->-r requirements.txt (line 16)) (0.13.1)\n", "Collecting requests-unixsocket\n", " Downloading requests_unixsocket-0.3.0-py2.py3-none-any.whl (11 kB)\n", "Requirement already satisfied: packaging in /usr/local/lib/python3.7/dist-packages (from jupyterlab==3.1.6->-r requirements.txt (line 17)) (21.3)\n", "Collecting nbclassic~=0.2\n", " Downloading nbclassic-0.3.7-py3-none-any.whl (13 kB)\n", "Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.7/dist-packages (from jupyterlab-server==2.7.0->-r requirements.txt (line 19)) (0.4)\n", "Requirement already satisfied: babel in /usr/local/lib/python3.7/dist-packages (from jupyterlab-server==2.7.0->-r requirements.txt (line 19)) (2.9.1)\n", "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.4.2->-r requirements.txt (line 20)) (0.11.0)\n", "Requirement already satisfied: pyparsing>=2.2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.4.2->-r requirements.txt (line 20)) (3.0.7)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib==3.4.2->-r requirements.txt (line 20)) (1.3.2)\n", "Collecting proglog<=1.0.0\n", " Downloading proglog-0.1.9.tar.gz (10 kB)\n", "Collecting llvmlite<0.37,>=0.36.0rc1\n", " Downloading llvmlite-0.36.0-cp37-cp37m-manylinux2010_x86_64.whl (25.3 MB)\n", "\u001b[K |████████████████████████████████| 25.3 MB 46.3 MB/s \n", "\u001b[?25hRequirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas==1.3.2->-r requirements.txt (line 28)) (2018.9)\n", "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.7/dist-packages (from plotly==5.2.1->-r requirements.txt (line 32)) (8.0.1)\n", "Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyaml==21.8.3->-r requirements.txt (line 35)) (3.13)\n", "Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.7/dist-packages (from scikit-image==0.18.1->-r requirements.txt (line 37)) (2021.11.2)\n", "Requirement already satisfied: networkx>=2.0 in /usr/local/lib/python3.7/dist-packages (from scikit-image==0.18.1->-r requirements.txt (line 37)) (2.6.3)\n", "Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.7/dist-packages (from scikit-image==0.18.1->-r requirements.txt (line 37)) (1.2.0)\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.7/dist-packages (from scikit-learn==1.0.2->-r requirements.txt (line 38)) (3.1.0)\n", "Requirement already satisfied: joblib>=0.11 in /usr/local/lib/python3.7/dist-packages (from scikit-learn==1.0.2->-r requirements.txt (line 38)) (1.1.0)\n", "Collecting coloredlogs\n", " Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)\n", "\u001b[K |████████████████████████████████| 46 kB 3.5 MB/s \n", "\u001b[?25hRequirement already satisfied: sqlalchemy in /usr/local/lib/python3.7/dist-packages (from torch-tools==0.1.5->-r requirements.txt (line 45)) (1.4.32)\n", "Collecting sentry-sdk>=1.0.0\n", " Downloading sentry_sdk-1.5.8-py2.py3-none-any.whl (144 kB)\n", "\u001b[K |████████████████████████████████| 144 kB 47.1 MB/s \n", "\u001b[?25hRequirement already satisfied: Click!=8.0.0,>=7.0 in /usr/local/lib/python3.7/dist-packages (from wandb==0.12.0->-r requirements.txt (line 50)) (7.1.2)\n", "Requirement already satisfied: promise<3,>=2.0 in /usr/local/lib/python3.7/dist-packages (from wandb==0.12.0->-r requirements.txt (line 50)) (2.3)\n", "Collecting configparser>=3.8.1\n", " Downloading configparser-5.2.0-py3-none-any.whl (19 kB)\n", "Collecting shortuuid>=0.5.0\n", " Downloading shortuuid-1.0.8-py3-none-any.whl (9.5 kB)\n", "Requirement already satisfied: protobuf>=3.12.0 in /usr/local/lib/python3.7/dist-packages (from wandb==0.12.0->-r requirements.txt (line 50)) (3.17.3)\n", "Collecting docker-pycreds>=0.4.0\n", " Downloading docker_pycreds-0.4.0-py2.py3-none-any.whl (9.0 kB)\n", "Collecting GitPython>=1.0.0\n", " Downloading GitPython-3.1.27-py3-none-any.whl (181 kB)\n", "\u001b[K |████████████████████████████████| 181 kB 47.8 MB/s \n", "\u001b[?25hCollecting sniffio>=1.1\n", " Downloading sniffio-1.2.0-py3-none-any.whl (10 kB)\n", "Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.7/dist-packages (from anyio<4,>=3.1.0->jupyter-server==1.10.2->-r requirements.txt (line 16)) (2.10)\n", "Collecting gitdb<5,>=4.0.1\n", " Downloading gitdb-4.0.9-py3-none-any.whl (63 kB)\n", "\u001b[K |████████████████████████████████| 63 kB 1.5 MB/s \n", "\u001b[?25hCollecting smmap<6,>=3.0.1\n", " Downloading smmap-5.0.0-py3-none-any.whl (24 kB)\n", "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.7/dist-packages (from jedi>=0.16->ipython==7.26.0->-r requirements.txt (line 8)) (0.8.3)\n", "Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/dist-packages (from jinja2->jupyter-server==1.10.2->-r requirements.txt (line 16)) (2.0.1)\n", "Collecting notebook-shim>=0.1.0\n", " Downloading notebook_shim-0.1.0-py3-none-any.whl (13 kB)\n", "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests[socks]->gdown==4.4.0->-r requirements.txt (line 3)) (1.24.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests[socks]->gdown==4.4.0->-r requirements.txt (line 3)) (2021.10.8)\n", "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests[socks]->gdown==4.4.0->-r requirements.txt (line 3)) (3.0.4)\n", "Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.7/dist-packages (from argon2-cffi->jupyter-server==1.10.2->-r requirements.txt (line 16)) (21.2.0)\n", "Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server==1.10.2->-r requirements.txt (line 16)) (1.15.0)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.7/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server==1.10.2->-r requirements.txt (line 16)) (2.21)\n", "Collecting humanfriendly>=9.1\n", " Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB)\n", "\u001b[K |████████████████████████████████| 86 kB 4.9 MB/s \n", "\u001b[?25hRequirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupyter-server==1.10.2->-r requirements.txt (line 16)) (0.8.4)\n", "Requirement already satisfied: defusedxml in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupyter-server==1.10.2->-r requirements.txt (line 16)) (0.7.1)\n", "Requirement already satisfied: bleach in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupyter-server==1.10.2->-r requirements.txt (line 16)) (4.1.0)\n", "Requirement already satisfied: testpath in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupyter-server==1.10.2->-r requirements.txt (line 16)) (0.6.0)\n", "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.7/dist-packages (from nbconvert->jupyter-server==1.10.2->-r requirements.txt (line 16)) (1.5.0)\n", "Requirement already satisfied: PySocks!=1.5.7,>=1.5.6 in /usr/local/lib/python3.7/dist-packages (from requests[socks]->gdown==4.4.0->-r requirements.txt (line 3)) (1.7.1)\n", "Requirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.7/dist-packages (from sqlalchemy->torch-tools==0.1.5->-r requirements.txt (line 45)) (1.1.2)\n", "Building wheels for collected packages: ftfy, gdown, moviepy, pathtools, subprocess32, torchfile, visdom, proglog\n", " Building wheel for ftfy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for ftfy: filename=ftfy-6.0.3-py3-none-any.whl size=41933 sha256=79f39d93dc24dd39ae348e10c6994c63e9794a76e93562e4b7752664332edc8a\n", " Stored in directory: /root/.cache/pip/wheels/19/f5/38/273eb3b5e76dfd850619312f693716ac4518b498f5ffb6f56d\n", " Building wheel for gdown (PEP 517) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for gdown: filename=gdown-4.4.0-py3-none-any.whl size=14774 sha256=8e50bb3892d417040f79c87c6712ad82f2617556bb355e61b048b1a21f5c7388\n", " Stored in directory: /root/.cache/pip/wheels/fb/c3/0e/c4d8ff8bfcb0461afff199471449f642179b74968c15b7a69c\n", " Building wheel for moviepy (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for moviepy: filename=moviepy-1.0.3-py3-none-any.whl size=110743 sha256=a76901d1818e90ff94629d1bcc7687a96473e2b33fd2574d01f9c70b23239510\n", " Stored in directory: /root/.cache/pip/wheels/56/dc/2b/9cd600d483c04af3353d66623056fc03faed76b7518faae4df\n", " Building wheel for pathtools (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for pathtools: filename=pathtools-0.1.2-py3-none-any.whl size=8806 sha256=9654768aed3242d80d0e0795e3fdbd16af123e38098811de07abdf752edd4aa6\n", " Stored in directory: /root/.cache/pip/wheels/3e/31/09/fa59cef12cdcfecc627b3d24273699f390e71828921b2cbba2\n", " Building wheel for subprocess32 (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for subprocess32: filename=subprocess32-3.5.4-py3-none-any.whl size=6502 sha256=bf1c29027acc424ca86cd9c0e1df57bea958d062b90f3e8f881992afc7e46e62\n", " Stored in directory: /root/.cache/pip/wheels/50/ca/fa/8fca8d246e64f19488d07567547ddec8eb084e8c0d7a59226a\n", " Building wheel for torchfile (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for torchfile: filename=torchfile-0.1.0-py3-none-any.whl size=5709 sha256=ffbc3556c2d174777c8ddf32c82703d212220682dd0739a59d5a7b8bc3d690c0\n", " Stored in directory: /root/.cache/pip/wheels/ac/5c/3a/a80e1c65880945c71fd833408cd1e9a8cb7e2f8f37620bb75b\n", " Building wheel for visdom (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for visdom: filename=visdom-0.1.8.9-py3-none-any.whl size=655250 sha256=5bbe6f7a2d9885515923571e30b531399b9bdafde7fecf1ef5ee740da5ea84ba\n", " Stored in directory: /root/.cache/pip/wheels/2d/d1/9b/cde923274eac9cbb6ff0d8c7c72fe30a3da9095a38fd50bbf1\n", " Building wheel for proglog (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for proglog: filename=proglog-0.1.9-py3-none-any.whl size=6157 sha256=dee98153509b8eee99d8a3208ebc71b61ba24550ed4d8adcfff008f3dece052c\n", " Stored in directory: /root/.cache/pip/wheels/12/36/1f/dc61e6ac10781d63cf6fa045eb09fa613a667384e12cb6e6e0\n", "Successfully built ftfy gdown moviepy pathtools subprocess32 torchfile visdom proglog\n", "Installing collected packages: zipp, importlib-metadata, jupyter-core, jsonschema, tornado, sniffio, prompt-toolkit, matplotlib-inline, websocket-client, requests-unixsocket, jupyter-client, ipython, argcomplete, anyio, smmap, Pillow, numpy, jupyter-server, jsonpointer, ipykernel, tqdm, torchfile, torch, scipy, pandas, notebook-shim, notebook, matplotlib, jsonpatch, json5, humanfriendly, gitdb, visdom, torchvision, svgwrite, subprocess32, shortuuid, sentry-sdk, pyaml, psutil, proglog, pathtools, nbclassic, llvmlite, jupyterlab-server, imageio-ffmpeg, imageio, GitPython, docker-pycreds, configparser, coloredlogs, wandb, torch-tools, svgpathtools, scikit-image, regex, plotly, pip, opencv-python, numba, moviepy, jupyterlab, gdown, ftfy, cssutils\n", " Attempting uninstall: zipp\n", " Found existing installation: zipp 3.7.0\n", " Uninstalling zipp-3.7.0:\n", " Successfully uninstalled zipp-3.7.0\n", " Attempting uninstall: importlib-metadata\n", " Found existing installation: importlib-metadata 4.11.2\n", " Uninstalling importlib-metadata-4.11.2:\n", " Successfully uninstalled importlib-metadata-4.11.2\n", " Attempting uninstall: jupyter-core\n", " Found existing installation: jupyter-core 4.9.2\n", " Uninstalling jupyter-core-4.9.2:\n", " Successfully uninstalled jupyter-core-4.9.2\n", " Attempting uninstall: jsonschema\n", " Found existing installation: jsonschema 4.3.3\n", " Uninstalling jsonschema-4.3.3:\n", " Successfully uninstalled jsonschema-4.3.3\n", " Attempting uninstall: tornado\n", " Found existing installation: tornado 5.1.1\n", " Uninstalling tornado-5.1.1:\n", " Successfully uninstalled tornado-5.1.1\n", " Attempting uninstall: prompt-toolkit\n", " Found existing installation: prompt-toolkit 1.0.18\n", " Uninstalling prompt-toolkit-1.0.18:\n", " Successfully uninstalled prompt-toolkit-1.0.18\n", " Attempting uninstall: matplotlib-inline\n", " Found existing installation: matplotlib-inline 0.1.3\n", " Uninstalling matplotlib-inline-0.1.3:\n", " Successfully uninstalled matplotlib-inline-0.1.3\n", " Attempting uninstall: jupyter-client\n", " Found existing installation: jupyter-client 5.3.5\n", " Uninstalling jupyter-client-5.3.5:\n", " Successfully uninstalled jupyter-client-5.3.5\n", " Attempting uninstall: ipython\n", " Found existing installation: ipython 5.5.0\n", " Uninstalling ipython-5.5.0:\n", " Successfully uninstalled ipython-5.5.0\n", " Attempting uninstall: Pillow\n", " Found existing installation: Pillow 7.1.2\n", " Uninstalling Pillow-7.1.2:\n", " Successfully uninstalled Pillow-7.1.2\n", " Attempting uninstall: numpy\n", " Found existing installation: numpy 1.21.5\n", " Uninstalling numpy-1.21.5:\n", " Successfully uninstalled numpy-1.21.5\n", " Attempting uninstall: ipykernel\n", " Found existing installation: ipykernel 4.10.1\n", " Uninstalling ipykernel-4.10.1:\n", " Successfully uninstalled ipykernel-4.10.1\n", " Attempting uninstall: tqdm\n", " Found existing installation: tqdm 4.63.0\n", " Uninstalling tqdm-4.63.0:\n", " Successfully uninstalled tqdm-4.63.0\n", " Attempting uninstall: torch\n", " Found existing installation: torch 1.10.0+cu111\n", " Uninstalling torch-1.10.0+cu111:\n", " Successfully uninstalled torch-1.10.0+cu111\n", " Attempting uninstall: scipy\n", " Found existing installation: scipy 1.4.1\n", " Uninstalling scipy-1.4.1:\n", " Successfully uninstalled scipy-1.4.1\n", " Attempting uninstall: pandas\n", " Found existing installation: pandas 1.3.5\n", " Uninstalling pandas-1.3.5:\n", " Successfully uninstalled pandas-1.3.5\n", " Attempting uninstall: notebook\n", " Found existing installation: notebook 5.3.1\n", " Uninstalling notebook-5.3.1:\n", " Successfully uninstalled notebook-5.3.1\n", " Attempting uninstall: matplotlib\n", " Found existing installation: matplotlib 3.2.2\n", " Uninstalling matplotlib-3.2.2:\n", " Successfully uninstalled matplotlib-3.2.2\n", " Attempting uninstall: torchvision\n", " Found existing installation: torchvision 0.11.1+cu111\n", " Uninstalling torchvision-0.11.1+cu111:\n", " Successfully uninstalled torchvision-0.11.1+cu111\n", " Attempting uninstall: psutil\n", " Found existing installation: psutil 5.4.8\n", " Uninstalling psutil-5.4.8:\n", " Successfully uninstalled psutil-5.4.8\n", " Attempting uninstall: llvmlite\n", " Found existing installation: llvmlite 0.34.0\n", " Uninstalling llvmlite-0.34.0:\n", " Successfully uninstalled llvmlite-0.34.0\n", " Attempting uninstall: imageio\n", " Found existing installation: imageio 2.4.1\n", " Uninstalling imageio-2.4.1:\n", " Successfully uninstalled imageio-2.4.1\n", " Attempting uninstall: scikit-image\n", " Found existing installation: scikit-image 0.18.3\n", " Uninstalling scikit-image-0.18.3:\n", " Successfully uninstalled scikit-image-0.18.3\n", " Attempting uninstall: regex\n", " Found existing installation: regex 2019.12.20\n", " Uninstalling regex-2019.12.20:\n", " Successfully uninstalled regex-2019.12.20\n", " Attempting uninstall: plotly\n", " Found existing installation: plotly 5.5.0\n", " Uninstalling plotly-5.5.0:\n", " Successfully uninstalled plotly-5.5.0\n", " Attempting uninstall: pip\n", " Found existing installation: pip 21.1.3\n", " Uninstalling pip-21.1.3:\n", " Successfully uninstalled pip-21.1.3\n", " Attempting uninstall: opencv-python\n", " Found existing installation: opencv-python 4.1.2.30\n", " Uninstalling opencv-python-4.1.2.30:\n", " Successfully uninstalled opencv-python-4.1.2.30\n", " Attempting uninstall: numba\n", " Found existing installation: numba 0.51.2\n", " Uninstalling numba-0.51.2:\n", " Successfully uninstalled numba-0.51.2\n", " Attempting uninstall: moviepy\n", " Found existing installation: moviepy 0.2.3.5\n", " Uninstalling moviepy-0.2.3.5:\n", " Successfully uninstalled moviepy-0.2.3.5\n", " Attempting uninstall: gdown\n", " Found existing installation: gdown 4.2.2\n", " Uninstalling gdown-4.2.2:\n", " Successfully uninstalled gdown-4.2.2\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.8.0 requires tf-estimator-nightly==2.8.0.dev2021122109, which is not installed.\n", "torchtext 0.11.0 requires torch==1.10.0, but you have torch 1.7.1 which is incompatible.\n", "torchaudio 0.10.0+cu111 requires torch==1.10.0, but you have torch 1.7.1 which is incompatible.\n", "jupyter-console 5.2.0 requires prompt-toolkit<2.0.0,>=1.0.0, but you have prompt-toolkit 3.0.28 which is incompatible.\n", "google-colab 1.0.0 requires ipykernel~=4.10, but you have ipykernel 6.1.0 which is incompatible.\n", "google-colab 1.0.0 requires ipython~=5.5.0, but you have ipython 7.26.0 which is incompatible.\n", "google-colab 1.0.0 requires notebook~=5.3.0; python_version >= \"3.0\", but you have notebook 6.4.3 which is incompatible.\n", "google-colab 1.0.0 requires tornado~=5.1.0; python_version >= \"3.0\", but you have tornado 6.1 which is incompatible.\n", "datascience 0.10.6 requires folium==0.2.1, but you have folium 0.8.3 which is incompatible.\n", "albumentations 0.1.12 requires imgaug<0.2.7,>=0.2.5, but you have imgaug 0.2.9 which is incompatible.\u001b[0m\n", "Successfully installed GitPython-3.1.27 Pillow-8.2.0 anyio-3.5.0 argcomplete-2.0.0 coloredlogs-15.0.1 configparser-5.2.0 cssutils-2.3.0 docker-pycreds-0.4.0 ftfy-6.0.3 gdown-4.4.0 gitdb-4.0.9 humanfriendly-10.0 imageio-2.9.0 imageio-ffmpeg-0.4.4 importlib-metadata-4.6.4 ipykernel-6.1.0 ipython-7.26.0 json5-0.9.5 jsonpatch-1.32 jsonpointer-2.1 jsonschema-3.2.0 jupyter-client-6.1.12 jupyter-core-4.7.1 jupyter-server-1.10.2 jupyterlab-3.1.6 jupyterlab-server-2.7.0 llvmlite-0.36.0 matplotlib-3.4.2 matplotlib-inline-0.1.2 moviepy-1.0.3 nbclassic-0.3.7 notebook-6.4.3 notebook-shim-0.1.0 numba-0.53.1 numpy-1.20.3 opencv-python-4.5.3.56 pandas-1.3.2 pathtools-0.1.2 pip-21.2.2 plotly-5.2.1 proglog-0.1.9 prompt-toolkit-3.0.28 psutil-5.8.0 pyaml-21.8.3 regex-2021.11.10 requests-unixsocket-0.3.0 scikit-image-0.18.1 scipy-1.6.2 sentry-sdk-1.5.8 shortuuid-1.0.8 smmap-5.0.0 sniffio-1.2.0 subprocess32-3.5.4 svgpathtools-1.4.1 svgwrite-1.4.1 torch-1.7.1 torch-tools-0.1.5 torchfile-0.1.0 torchvision-0.8.2 tornado-6.1 tqdm-4.62.1 visdom-0.1.8.9 wandb-0.12.0 websocket-client-0.57.0 zipp-3.5.0\n" ] }, { "output_type": "display_data", "data": { "application/vnd.colab-display-data+json": { "pip_warning": { "packages": [ "IPython", "PIL", "ipykernel", "jupyter_client", "jupyter_core", "matplotlib", "mpl_toolkits", "numpy", "prompt_toolkit", "psutil", "tornado" ] } } }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "Looking in links: https://download.pytorch.org/whl/torch_stable.html\n", "Collecting torch==1.7.1+cu101\n", " Downloading https://download.pytorch.org/whl/cu101/torch-1.7.1%2Bcu101-cp37-cp37m-linux_x86_64.whl (735.4 MB)\n", "\u001b[K |████████████████████████████████| 735.4 MB 16 kB/s \n", "\u001b[?25hCollecting torchvision==0.8.2+cu101\n", " Downloading https://download.pytorch.org/whl/cu101/torchvision-0.8.2%2Bcu101-cp37-cp37m-linux_x86_64.whl (12.8 MB)\n", "\u001b[K |████████████████████████████████| 12.8 MB 21.2 MB/s \n", "\u001b[?25hRequirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch==1.7.1+cu101) (3.10.0.2)\n", "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from torch==1.7.1+cu101) (1.20.3)\n", "Requirement already satisfied: pillow>=4.1.1 in /usr/local/lib/python3.7/dist-packages (from torchvision==0.8.2+cu101) (8.2.0)\n", "Installing collected packages: torch, torchvision\n", " Attempting uninstall: torch\n", " Found existing installation: torch 1.7.1\n", " Uninstalling torch-1.7.1:\n", " Successfully uninstalled torch-1.7.1\n", " Attempting uninstall: torchvision\n", " Found existing installation: torchvision 0.8.2\n", " Uninstalling torchvision-0.8.2:\n", " Successfully uninstalled torchvision-0.8.2\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", "torchtext 0.11.0 requires torch==1.10.0, but you have torch 1.7.1+cu101 which is incompatible.\n", "torchaudio 0.10.0+cu111 requires torch==1.10.0, but you have torch 1.7.1+cu101 which is incompatible.\u001b[0m\n", "Successfully installed torch-1.7.1+cu101 torchvision-0.8.2+cu101\n", "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\n" ] } ] }, { "cell_type": "code", "source": [ "%cd /content/CLIPasso\n", "!git pull" ], "metadata": { "id": "EDLPEWxElqeK", "outputId": "f5a36c59-f09f-4c01-b78b-a57bb3496936", "colab": { "base_uri": "https://localhost:8080/" } }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/CLIPasso\n", "Already up to date.\n" ] } ] }, { "cell_type": "code", "source": [ "%cd /content/CLIPasso\n", "!pip install git+https://github.com/openai/CLIP.git\n", "!git clone https://github.com/BachiLi/diffvg\n", "%cd diffvg\n", "!git submodule update --init --recursive\n", "%tensorflow_version 1.x\n", "import tensorflow as tf\n", "print(tf.__version__)\n", "import sys\n", "sys.path.append(\"/content/CLIPasso/diffvg/build/lib.linux-x86_64-3.7\")\n", "!pip3 install --upgrade Pillow\n", "!python setup.py install" ], "metadata": { "id": "o0KG2Eh7WtpJ", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "9c4325fc-05ce-4411-e0f3-938561499cdd" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/CLIPasso\n", "Collecting git+https://github.com/openai/CLIP.git\n", " Cloning https://github.com/openai/CLIP.git to /tmp/pip-req-build-tlgrbiuo\n", " Running command git clone -q https://github.com/openai/CLIP.git /tmp/pip-req-build-tlgrbiuo\n", " Resolved https://github.com/openai/CLIP.git to commit 40f5484c1c74edd83cb9cf687c6ab92b28d8b656\n", "Requirement already satisfied: ftfy in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (6.0.3)\n", "Requirement already satisfied: regex in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (2021.11.10)\n", "Requirement already satisfied: tqdm in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (4.62.1)\n", "Requirement already satisfied: torch in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (1.7.1+cu101)\n", "Requirement already satisfied: torchvision in /usr/local/lib/python3.7/dist-packages (from clip==1.0) (0.8.2+cu101)\n", "Requirement already satisfied: wcwidth in /usr/local/lib/python3.7/dist-packages (from ftfy->clip==1.0) (0.2.5)\n", "Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from torch->clip==1.0) (3.10.0.2)\n", "Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from torch->clip==1.0) (1.20.3)\n", "Requirement already satisfied: pillow>=4.1.1 in /usr/local/lib/python3.7/dist-packages (from torchvision->clip==1.0) (9.0.1)\n", "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\n", "fatal: destination path 'diffvg' already exists and is not an empty directory.\n", "/content/CLIPasso/diffvg\n", "TensorFlow 1.x selected.\n", "1.15.2\n", "Requirement already satisfied: Pillow in /usr/local/lib/python3.7/dist-packages (9.0.1)\n", "\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\n", "running install\n", "running bdist_egg\n", "running egg_info\n", "writing diffvg.egg-info/PKG-INFO\n", "writing dependency_links to diffvg.egg-info/dependency_links.txt\n", "writing requirements to diffvg.egg-info/requires.txt\n", "writing top-level names to diffvg.egg-info/top_level.txt\n", "adding license file 'LICENSE'\n", "writing manifest file 'diffvg.egg-info/SOURCES.txt'\n", "installing library code to build/bdist.linux-x86_64/egg\n", "running install_lib\n", "running build_py\n", "running build_ext\n", "-- pybind11 v2.6.0 dev\n", "-- Using pybind11: (version \"2.6.0\" dev)\n", "-- Build with CUDA support\n", "-- Configuring done\n", "-- Generating done\n", "-- Build files have been written to: /content/CLIPasso/diffvg/build/temp.linux-x86_64-3.7\n", "\u001b[35m\u001b[1mScanning dependencies of target diffvg_tf_data_ptr_cxx11_abi\u001b[0m\n", "\u001b[35m\u001b[1mScanning dependencies of target diffvg_tf_data_ptr_no_cxx11_abi\u001b[0m\n", "[ 9%] \u001b[32mBuilding CXX object pydiffvg_tensorflow/custom_ops/CMakeFiles/diffvg_tf_data_ptr_cxx11_abi.dir/data_ptr.cc.o\u001b[0m\n", "[ 54%] \u001b[32mBuilding CXX object pydiffvg_tensorflow/custom_ops/CMakeFiles/diffvg_tf_data_ptr_no_cxx11_abi.dir/data_ptr.cc.o\u001b[0m\n", "[ 81%] Built target diffvg\n", "[ 90%] \u001b[32m\u001b[1mLinking CXX shared library ../../../lib.linux-x86_64-3.7/libdiffvg_tf_data_ptr_cxx11_abi.so\u001b[0m\n", "[100%] \u001b[32m\u001b[1mLinking CXX shared library ../../../lib.linux-x86_64-3.7/libdiffvg_tf_data_ptr_no_cxx11_abi.so\u001b[0m\n", "[100%] Built target diffvg_tf_data_ptr_cxx11_abi\n", "[100%] Built target diffvg_tf_data_ptr_no_cxx11_abi\n", "creating build/bdist.linux-x86_64\n", "creating build/bdist.linux-x86_64/egg\n", "creating build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/parse_svg.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/image.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/optimize_svg.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/device.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/__init__.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/save_svg.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/color.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/shape.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/render_pytorch.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/pydiffvg/pixel_filter.py -> build/bdist.linux-x86_64/egg/pydiffvg\n", "copying build/lib.linux-x86_64-3.7/libdiffvg_tf_data_ptr_cxx11_abi.so -> build/bdist.linux-x86_64/egg\n", "copying build/lib.linux-x86_64-3.7/diffvg.so -> build/bdist.linux-x86_64/egg\n", "copying build/lib.linux-x86_64-3.7/libdiffvg_tf_data_ptr_no_cxx11_abi.so -> build/bdist.linux-x86_64/egg\n", "creating build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/image.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/device.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/__init__.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/color.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/render_tensorflow.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/shape.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "copying build/lib.linux-x86_64-3.7/pydiffvg_tensorflow/pixel_filter.py -> build/bdist.linux-x86_64/egg/pydiffvg_tensorflow\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/parse_svg.py to parse_svg.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/image.py to image.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/optimize_svg.py to optimize_svg.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/device.py to device.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/__init__.py to __init__.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/save_svg.py to save_svg.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/color.py to color.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/shape.py to shape.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/render_pytorch.py to render_pytorch.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg/pixel_filter.py to pixel_filter.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/image.py to image.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/device.py to device.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/__init__.py to __init__.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/color.py to color.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/render_tensorflow.py to render_tensorflow.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/shape.py to shape.cpython-37.pyc\n", "byte-compiling build/bdist.linux-x86_64/egg/pydiffvg_tensorflow/pixel_filter.py to pixel_filter.cpython-37.pyc\n", "creating build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "copying diffvg.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO\n", "writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt\n", "creating dist\n", "creating 'dist/diffvg-0.0.1-py3.7-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it\n", "removing 'build/bdist.linux-x86_64/egg' (and everything under it)\n", "Processing diffvg-0.0.1-py3.7-linux-x86_64.egg\n", "creating /usr/local/lib/python3.7/dist-packages/diffvg-0.0.1-py3.7-linux-x86_64.egg\n", "Extracting diffvg-0.0.1-py3.7-linux-x86_64.egg to /usr/local/lib/python3.7/dist-packages\n", "Adding diffvg 0.0.1 to easy-install.pth file\n", "\n", "Installed /usr/local/lib/python3.7/dist-packages/diffvg-0.0.1-py3.7-linux-x86_64.egg\n", "Processing dependencies for diffvg==0.0.1\n", "Searching for svgpathtools==1.4.1\n", "Best match: svgpathtools 1.4.1\n", "Adding svgpathtools 1.4.1 to easy-install.pth file\n", "\n", "Using /usr/local/lib/python3.7/dist-packages\n", "Searching for svgwrite==1.4.1\n", "Best match: svgwrite 1.4.1\n", "Adding svgwrite 1.4.1 to easy-install.pth file\n", "\n", "Using /usr/local/lib/python3.7/dist-packages\n", "Searching for numpy==1.20.3\n", "Best match: numpy 1.20.3\n", "Adding numpy 1.20.3 to easy-install.pth file\n", "Installing f2py script to /usr/local/bin\n", "Installing f2py3 script to /usr/local/bin\n", "Installing f2py3.7 script to /usr/local/bin\n", "\n", "Using /usr/local/lib/python3.7/dist-packages\n", "Finished processing dependencies for diffvg==0.0.1\n" ] } ] }, { "cell_type": "markdown", "source": [ "# (2) Start Sketching 🎨\n", "\n", "This stage will take a few minutes.\n", "\n", "We provide a few input examples under \"CLIPasso/target_images\". \n", "
You can sketch your own input by simply placing the desired image in \"CLIPasso/target_images\" and specifying the image name under \"target_image\".\n", "\n", "**A few notes:**
\n", "\n", "* It is recommended to use images without a background, however, if your image contains a background, you can mask it out by using inserting 1 to \"**mask_object**\" field below.\n", "* If your image is not squared, it might be cut off. In that case it is recommended to fill the \"**fix_scale**\" field with 1 to automatically fix the scale.\n", "* You can define the abstraction level by using the \"**num_strokes**\" parameter. This parameter defines the number of strokes used to create the sketch. For example, optional values can be 32, 16, 8 and even 4.\n", "\n", "You can download the resulting sketch in SVG format from CLIPasso/output_sketches/\\/best_iter.svg" ], "metadata": { "id": "L7Cp8FFHx3VG" } }, { "cell_type": "code", "source": [ "%cd /content/CLIPasso\n", "!git pull\n", "\n", "%matplotlib inline\n", "target_image = \"camel.png\" #@param {\"type\": \"string\"}\n", "mask_object = 0 #@param {\"type\": \"integer\"}\n", "fix_scale = 0 #@param {\"type\": \"integer\"}\n", "num_strokes = 16 #@param {\"type\": \"integer\"}\n", "\n", "%run run_object_sketching.py --target_file $target_image --num_sketches 3 -colab --mask_object $mask_object --fix_scale $fix_scale --num_strokes $num_strokes" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 533 }, "id": "PP-Iltc1T8K7", "outputId": "3e803c4e-eb88-42e5-d1df-f0f0f212effc", "cellView": "form" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/CLIPasso\n", "Already up to date.\n", "==================================================\n", "Processing [camel.png] ...\n" ] }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "Results will be saved to \n", "[/content/CLIPasso/output_sketches/camel/] ...\n", "==================================================\n", "GPU: True\n" ] }, { "output_type": "stream", "name": "stderr", "text": [ "Downloading: \"https://download.pytorch.org/models/vgg16-397923af.pth\" to /root/.cache/torch/hub/checkpoints/vgg16-397923af.pth\n", "100%|██████████| 528M/528M [00:04<00:00, 135MB/s]\n", "100%|████████████████████████████████████████| 338M/338M [00:03<00:00, 116MiB/s]\n", "100%|███████████████████████████████████████| 278M/278M [00:12<00:00, 23.8MiB/s]\n", "100%|██████████| 2001/2001 [26:03<00:00, 1.28it/s]\n", "100%|██████████| 2001/2001 [26:05<00:00, 1.28it/s]\n", "100%|██████████| 2001/2001 [26:06<00:00, 1.28it/s]\n" ] } ] }, { "cell_type": "markdown", "source": [ "# (3) Display Results" ], "metadata": { "id": "rE1gTfztziNi" } }, { "cell_type": "code", "source": [ "%cd /content/CLIPasso/\n", "!git pull\n", "\n", "target_image = \"camel.png\" #@param {\"type\": \"string\"}\n", "%run display_results.py --target_file $target_image" ], "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 784 }, "id": "EnWfUdKsqKoU", "outputId": "b72aa447-a541-4e7c-bfbb-3b73a477b949", "cellView": "form" }, "execution_count": null, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "/content/CLIPasso\n", "Already up to date.\n" ] }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "" ], "image/png": "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\n" }, "metadata": {} }, { "output_type": "stream", "name": "stdout", "text": [ "You can download the result sketch from /content/CLIPasso/output_sketches/camel/camel_16strokes_seed0/final_sketch.png\n", "/content/CLIPasso/output_sketches/camel/camel_16strokes_seed0\n" ] } ] }, { "cell_type": "code", "source": [ "%cd /content/CLIPasso/\n", "\n", "import re\n", "import os\n", "import subprocess as sp\n", "import moviepy.editor as mvp\n", "from IPython.display import clear_output\n", "\n", "target_image = \"camel.png\" #@param {\"type\": \"string\"}\n", "\n", "abs_path = os.path.abspath(os.getcwd())\n", "result_path = f\"{abs_path}/output_sketches/{os.path.splitext(target_image)[0]}\"\n", "svg_files = os.listdir(result_path)\n", "svg_files = [f for f in svg_files if \"best.svg\" in f]\n", "\n", "p = re.compile(\"_best\")\n", "best_sketch_dir = \"\"\n", "for m in p.finditer(svg_files[0]):\n", " best_sketch_dir += svg_files[0][0: m.start()]\n", "\n", "cur_path = f\"{abs_path}/output_sketches/{os.path.splitext(target_image)[0]}/{best_sketch_dir}\"\n", "sp.run([\"ffmpeg\", \"-y\", \"-framerate\", \"10\", \"-pattern_type\", \"glob\", \"-i\", \n", " f\"{cur_path}/svg_to_png/iter_*.png\", \"-vb\", \"20M\", f\"{cur_path}/sketch.mp4\"])\n", "\n", "sp.run([\"ffmpeg\", \"-y\", \"-i\", f\"{cur_path}/sketch.mp4\", \"-filter_complex\",\n", " \"[0]trim=0:2[hold];[0][hold]concat[extended];[extended][0]overlay\",\n", " f\"{cur_path}/sketch_longer.mp4\"])\n", "\n", "clear_output()\n", "display(mvp.ipython_display(f\"{cur_path}/sketch_longer.mp4\"))" ], "metadata": { "id": "9RD9_Spowkxb", "outputId": "4a9a25a5-ff85-419f-d913-03a752284fb0", "colab": { "base_uri": "https://localhost:8080/", "height": 469 } }, "execution_count": null, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "" ], "text/html": [ "
" ] }, "metadata": {} } ] } ] }