diff --git a/ffserver.c b/ffserver.c index 8b819b6934617..5370264b9611f 100644 --- a/ffserver.c +++ b/ffserver.c @@ -510,7 +510,7 @@ static void start_children(FFServerStream *feed) } /* use "ffmpeg" in the path of current program. Ignore user provided path */ - strcat(pathname, "ffmpeg"); + av_strlcat(pathname, "ffmpeg", slash ? (slash - my_program_name + sizeof("ffmpeg")) : sizeof("ffmpeg")); for (; feed; feed = feed->next) { @@ -1501,7 +1501,7 @@ static int http_parse_request(HTTPContext *c) redir_type = REDIR_ASF; } else if (av_match_ext(filename, "rpm,ram")) { redir_type = REDIR_RAM; - strcpy(filename + strlen(filename)-2, "m"); + av_strlcpy(filename + strlen(filename)-2, "m", 3); } else if (av_match_ext(filename, "rtsp")) { redir_type = REDIR_RTSP; compute_real_filename(filename, sizeof(filename) - 1); @@ -1997,9 +1997,9 @@ static void compute_status(HTTPContext *c) eosf = sfilename + strlen(sfilename); if (eosf - sfilename >= 4) { if (strcmp(eosf - 4, ".asf") == 0) - strcpy(eosf - 4, ".asx"); + av_strlcpy(eosf - 4, ".asx", 5); else if (strcmp(eosf - 3, ".rm") == 0) - strcpy(eosf - 3, ".ram"); + av_strlcpy(eosf - 3, ".ram", 5); else if (stream->fmt && !strcmp(stream->fmt->name, "rtp")) { /* generate a sample RTSP director if * unicast. Generate an SDP redirector if @@ -2008,9 +2008,9 @@ static void compute_status(HTTPContext *c) if (!eosf) eosf = sfilename + strlen(sfilename); if (stream->is_multicast) - strcpy(eosf, ".sdp"); + av_strlcpy(eosf, ".sdp", sizeof(sfilename) - (eosf - sfilename)); else - strcpy(eosf, ".rtsp"); + av_strlcpy(eosf, ".rtsp", sizeof(sfilename) - (eosf - sfilename)); } } @@ -2198,7 +2198,7 @@ static int open_input_stream(HTTPContext *c, const char *info) /* find file name */ if (c->stream->feed) { - strcpy(input_filename, c->stream->feed->feed_filename); + av_strlcpy(input_filename, c->stream->feed->feed_filename, sizeof(input_filename)); buf_size = FFM_PACKET_SIZE; /* compute position (absolute time) */ if (av_find_info_tag(buf, sizeof(buf), "date", info)) { @@ -2212,7 +2212,7 @@ static int open_input_stream(HTTPContext *c, const char *info) } else stream_pos = av_gettime() - c->stream->prebuffer * (int64_t)1000; } else { - strcpy(input_filename, c->stream->feed_filename); + av_strlcpy(input_filename, c->stream->feed_filename, sizeof(input_filename)); buf_size = 0; /* compute position (relative time) */ if (av_find_info_tag(buf, sizeof(buf), "date", info)) { diff --git a/quick_demo.ipynb b/quick_demo.ipynb index 876e37498b73f..b5de41a3208e3 100644 --- a/quick_demo.ipynb +++ b/quick_demo.ipynb @@ -1,1736 +1,1736 @@ { - "nbformat": 4, - "nbformat_minor": 0, - "metadata": { - "colab": { - "name": "quick_demo.ipynb", - "provenance": [], - "include_colab_link": true - }, - "kernelspec": { - "name": "python3", - "display_name": "Python 3" - }, - "accelerator": "GPU" + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "name": "quick_demo.ipynb", + "provenance": [], + "include_colab_link": true }, - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "view-in-github", - "colab_type": "text" - }, - "source": [ - "\"Open" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "GXaL7nU6TEsV" - }, - "source": [ - "# MakeItTalk Quick Demo (natural human face animation)\n", - "\n", - "- included project setup + pretrained model download\n", - "- provides step-by-step details\n", - "- todo: tdlr version" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "2owgbZ22TQmz" - }, - "source": [ - "## Preparations\n", - "- Check GPU" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "yB-ixde4R3nO", - "outputId": "4ce86481-2c79-4113-c2e7-94ca0c9c5095", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi\n", - "import subprocess\n", - "print(subprocess.getoutput('nvidia-smi'))" - ], - "execution_count": 48, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Fri Jan 24 01:44:15 2025 \n", - "+---------------------------------------------------------------------------------------+\n", - "| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |\n", - "|-----------------------------------------+----------------------+----------------------+\n", - "| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n", - "| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n", - "| | | MIG M. |\n", - "|=========================================+======================+======================|\n", - "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", - "| N/A 40C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |\n", - "| | | N/A |\n", - "+-----------------------------------------+----------------------+----------------------+\n", - " \n", - "+---------------------------------------------------------------------------------------+\n", - "| Processes: |\n", - "| GPU GI CI PID Type Process name GPU Memory |\n", - "| ID ID Usage |\n", - "|=======================================================================================|\n", - "| No running processes found |\n", - "+---------------------------------------------------------------------------------------+\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "o31a6SpeTXDM" - }, - "source": [ - "- Check ffmpeg" - ] - }, - { - "cell_type": "code", - "source": [ - "#!add-apt-repository ppa:jonathonf/ffmpeg-4\n", - "#!apt-get update\n", - "!apt-get install ffmpeg" - ], - "metadata": { - "id": "j43jpL68_cJQ", - "outputId": "4f9426df-91f5-4505-a375-a6edbc229d6f", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "execution_count": 51, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Reading package lists... Done\n", - "Building dependency tree... Done\n", - "Reading state information... Done\n", - "ffmpeg is already the newest version (7:4.4.2-0ubuntu0.22.04.1).\n", - "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n" - ] - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "u4EcdzstSB71", - "outputId": "f34ece35-76f1-4742-eac5-2cdfaf58f730", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "print(subprocess.getoutput('ffmpeg'))" - ], - "execution_count": 52, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers\n", - " built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)\n", - " configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared\n", - " libavutil 56. 70.100 / 56. 70.100\n", - " libavcodec 58.134.100 / 58.134.100\n", - " libavformat 58. 76.100 / 58. 76.100\n", - " libavdevice 58. 13.100 / 58. 13.100\n", - " libavfilter 7.110.100 / 7.110.100\n", - " libswscale 5. 9.100 / 5. 9.100\n", - " libswresample 3. 9.100 / 3. 9.100\n", - " libpostproc 55. 9.100 / 55. 9.100\n", - "Hyper fast Audio and Video encoder\n", - "usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...\n", - "\n", - "Use -h to get full help or, even better, run 'man ffmpeg'\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "taPSDYiSTcM_" - }, - "source": [ - "- Install Github https://github.com/yzhou359/MakeItTalk" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "4G0XLqo4SofV", - "outputId": "c762a690-f380-4999-e896-d19eaedd0b42", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "!git clone https://github.com/yzhou359/MakeItTalk" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "fatal: destination path 'MakeItTalk' already exists and is not an empty directory.\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "-xe5u4Ede-G5" - }, - "source": [ - "- Install requirements" - ] - }, - { - "cell_type": "code", - "source": [ - "#!lsb_release -a\n", - "##!apt install python3.8\n", - "#!update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 4\n", - "#!update-alternatives --config python3\n", - "!python --version\n", - "!pip3 --version\n", - "#!python -m ensurepip\n", - "#!curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本\n", - "#!python get-pip.py\n", - "#!apt-get install python3-distutils\n", - "#!apt install python3.8-distutils\n" - ], - "metadata": { - "id": "twgWbCC92zbW", - "outputId": "be5ac1d0-c325-4dd8-8545-311e342738f5", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "execution_count": 39, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Python 3.8.20\n", - "pip 24.3.1 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "#!python --version\n", - "#!apt update\n", - "!apt install software-properties-common\n", - "!add-apt-repository ppa:deadsnakes/ppa\n", - "\n", - "!apt update\n", - "#!apt install python3.6" - ], - "metadata": { - "id": "iD3vMpy_0klv", - "outputId": "bb6c0439-bc9d-4350-9e44-e7b59c54d0a4", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "execution_count": 8, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "Reading package lists... Done\n", - "Building dependency tree... Done\n", - "Reading state information... Done\n", - "software-properties-common is already the newest version (0.99.22.9).\n", - "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", - "Repository: 'deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/ jammy main'\n", - "Description:\n", - "This PPA contains more recent Python versions packaged for Ubuntu.\n", - "\n", - "Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.\n", - "\n", - "Update Note\n", - "===========\n", - "Please use this repository instead of ppa:fkrull/deadsnakes.\n", - "\n", - "Reporting Issues\n", - "================\n", - "\n", - "Issues can be reported in the master issue tracker at:\n", - "https://github.com/deadsnakes/issues/issues\n", - "\n", - "Supported Ubuntu and Python Versions\n", - "====================================\n", - "\n", - "- Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.13\n", - "- Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11 - Python3.13\n", - "- Ubuntu 24.04 (noble) Python3.7 - Python3.11, Python3.13\n", - "- Note: Python2.7 (focal, jammy), Python 3.8 (focal), Python 3.10 (jammy), Python3.12 (noble) are not provided by deadsnakes as upstream ubuntu provides those packages.\n", - "\n", - "Why some packages aren't built:\n", - "- Note: for focal, older python versions require libssl<1.1 so they are not currently built\n", - "- Note: for jammy and noble, older python versions requre libssl<3 so they are not currently built\n", - "- If you need these, reach out to asottile to set up a private ppa\n", - "\n", - "The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.\n", - "\n", - "Packages\n", - "========\n", - "\n", - "The packages provided here are loosely based on the debian upstream packages with some modifications to make them more usable as non-default pythons and on ubuntu. As such, the packages follow debian's patterns and often do not include a full python distribution with just `apt install python#.#`. Here is a list of packages that may be useful along with the default install:\n", - "\n", - "- `python#.#-dev`: includes development headers for building C extensions\n", - "- `python#.#-venv`: provides the standard library `venv` module\n", - "- `python#.#-distutils`: provides the standard library `distutils` module\n", - "- `python#.#-lib2to3`: provides the `2to3-#.#` utility as well as the standard library `lib2to3` module\n", - "- `python#.#-gdbm`: provides the standard library `dbm.gnu` module\n", - "- `python#.#-tk`: provides the standard library `tkinter` module\n", - "\n", - "Third-Party Python Modules\n", - "==========================\n", - "\n", - "Python modules in the official Ubuntu repositories are packaged to work with the Python interpreters from the official repositories. Accordingly, they generally won't work with the Python interpreters from this PPA. As an exception, pure-Python modules for Python 3 will work, but any compiled extension modules won't.\n", - "\n", - "To install 3rd-party Python modules, you should use the common Python packaging tools. For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:\n", - "https://packaging.python.org/installing/\n", - "\n", - "Sources\n", - "=======\n", - "The package sources are available at:\n", - "https://github.com/deadsnakes/\n", - "\n", - "Nightly Builds\n", - "==============\n", - "\n", - "For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly\n", - "More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa\n", - "Adding repository.\n", - "Press [ENTER] to continue or Ctrl-c to cancel.\n", - "Found existing deb entry in /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", - "Adding deb entry to /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", - "Found existing deb-src entry in /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", - "Adding disabled deb-src entry to /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", - "\n", - "\n", - "Adding key to /etc/apt/trusted.gpg.d/deadsnakes-ubuntu-ppa.gpg with fingerprint F23C5A6CF475977595C89F51BA6932366A755776\n", - "Hit:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease\n", - "Hit:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease\n", - "Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease\n", - "Hit:4 http://archive.ubuntu.com/ubuntu jammy InRelease\n", - "Hit:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease\n", - "Hit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\n", - "Hit:7 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy InRelease\n", - "Hit:8 https://r2u.stat.illinois.edu/ubuntu jammy InRelease\n", - "Hit:9 https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy InRelease\n", - "Hit:10 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\n", - "Reading package lists... Done\n", - "W: Skipping acquire of configured file 'main/source/Sources' as repository 'https://r2u.stat.illinois.edu/ubuntu jammy InRelease' does not seem to provide it (sources.list entry misspelt?)\n", - "Hit:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease\n", - "Hit:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease\n", - "Hit:3 http://archive.ubuntu.com/ubuntu jammy InRelease\n", - "Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease\n", - "Hit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\n", - "Hit:6 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease\n", - "Hit:7 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\n", - "Hit:8 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy InRelease\n", - "Hit:9 https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy InRelease\n", - "Hit:10 https://r2u.stat.illinois.edu/ubuntu jammy InRelease\n", - "Reading package lists... Done\n", - "Building dependency tree... Done\n", - "Reading state information... Done\n", - "52 packages can be upgraded. Run 'apt list --upgradable' to see them.\n", - "\u001b[1;33mW: \u001b[0mSkipping acquire of configured file 'main/source/Sources' as repository 'https://r2u.stat.illinois.edu/ubuntu jammy InRelease' does not seem to provide it (sources.list entry misspelt?)\u001b[0m\n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "%cd /content\n", - "!git clone https://github.com/g-nie/pynormalize.git\n", - "!ls pynormalize\n", - "%cd pynormalize\n", - "!pip install .\n", - "!pip show pynormalize" - ], - "metadata": { - "id": "jzxu-2mG8cF6", - "outputId": "a62be37f-ed52-4d0e-9bea-f92c346fbb08", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "execution_count": 44, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content\n", - "fatal: destination path 'pynormalize' already exists and is not an empty directory.\n", - "LICENSE pynormalize README.rst requirements.txt setup.cfg setup.py tests\n", - "/content/pynormalize\n", - "Processing /content/pynormalize\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting pydub>=0.21.0 (from pynormalize==0.1.4)\n", - " Using cached pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", - "Collecting mutagen>=1.40.0 (from pynormalize==0.1.4)\n", - " Downloading mutagen-1.47.0-py3-none-any.whl.metadata (1.7 kB)\n", - "Downloading mutagen-1.47.0-py3-none-any.whl (194 kB)\n", - "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", - "Building wheels for collected packages: pynormalize\n", - " Building wheel for pynormalize (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - " Created wheel for pynormalize: filename=pynormalize-0.1.4-py2.py3-none-any.whl size=5694 sha256=a50121687e21e734708407e4ad6aa1dd8cac4d85ee8d0f9e125f2b288bfcbfe8\n", - " Stored in directory: /tmp/pip-ephem-wheel-cache-1fftsv95/wheels/d5/4f/a6/46262f813e8bbc182a1c537c7ff0f828793bbfad9a11d801a4\n", - "Successfully built pynormalize\n", - "Installing collected packages: pydub, mutagen, pynormalize\n", - "Successfully installed mutagen-1.47.0 pydub-0.25.1 pynormalize-0.1.4\n", - "Name: pynormalize\n", - "Version: 0.1.4\n", - "Summary: Audio normalization for Python\n", - "Home-page: https://github.com/giannisterzopoulos/pynormalize\n", - "Author: Giannis Terzopoulos\n", - "Author-email: terzo.giannis@gmail.com\n", - "License: MIT\n", - "Location: /usr/local/lib/python3.8/dist-packages\n", - "Requires: mutagen, pydub\n", - "Required-by: \n" - ] - } - ] - }, - { - "cell_type": "code", - "source": [ - "!gcc --version\n", - "!apt-get -y install build-essential python3-dev ffmpeg\n", - "!pip3 install --upgrade setuptools wheel\n", - "!pip3 install --upgrade pip\n", - "!sudo apt-get install build-essential\n", - "!pip install faiss-cpu\n", - "!pip install ffmpeg-python\n", - "!pip install pyproject.toml\n", - "!pip install fairseq" - ], - "metadata": { - "id": "rmIyyi4ZBIi1", - "outputId": "e200322a-4bf7-4727-b8c3-dd5396f3b5e7", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 1000 - } - }, - "execution_count": 55, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\n", - "Copyright (C) 2021 Free Software Foundation, Inc.\n", - "This is free software; see the source for copying conditions. There is NO\n", - "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n", - "\n", - "Reading package lists... Done\n", - "Building dependency tree... Done\n", - "Reading state information... Done\n", - "build-essential is already the newest version (12.9ubuntu3).\n", - "python3-dev is already the newest version (3.10.6-1~22.04.1).\n", - "python3-dev set to manually installed.\n", - "ffmpeg is already the newest version (7:4.4.2-0ubuntu0.22.04.1).\n", - "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", - "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (75.3.0)\n", - "Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.45.1)\n", - "Requirement already satisfied: pip in /usr/local/lib/python3.8/dist-packages (24.3.1)\n", - "Reading package lists... Done\n", - "Building dependency tree... Done\n", - "Reading state information... Done\n", - "build-essential is already the newest version (12.9ubuntu3).\n", - "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", - "Collecting faiss-cpu\n", - " Downloading faiss_cpu-1.8.0.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.7 kB)\n", - "Requirement already satisfied: numpy<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from faiss-cpu) (1.24.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from faiss-cpu) (24.2)\n", - "Downloading faiss_cpu-1.8.0.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.0 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.0/27.0 MB\u001b[0m \u001b[31m125.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hInstalling collected packages: faiss-cpu\n", - "Successfully installed faiss-cpu-1.8.0.post1\n", - "Collecting ffmpeg-python\n", - " Using cached ffmpeg_python-0.2.0-py3-none-any.whl.metadata (1.7 kB)\n", - "Collecting future (from ffmpeg-python)\n", - " Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)\n", - "Using cached ffmpeg_python-0.2.0-py3-none-any.whl (25 kB)\n", - "Using cached future-1.0.0-py3-none-any.whl (491 kB)\n", - "Installing collected packages: future, ffmpeg-python\n", - "Successfully installed ffmpeg-python-0.2.0 future-1.0.0\n", - "Collecting pyproject.toml\n", - " Downloading pyproject_toml-0.0.12-py3-none-any.whl.metadata (748 bytes)\n", - "Requirement already satisfied: setuptools>=42 in /usr/local/lib/python3.8/dist-packages (from pyproject.toml) (75.3.0)\n", - "Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (from pyproject.toml) (0.45.1)\n", - "Collecting toml (from pyproject.toml)\n", - " Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)\n", - "Collecting jsonschema (from pyproject.toml)\n", - " Downloading jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)\n", - "Collecting attrs>=22.2.0 (from jsonschema->pyproject.toml)\n", - " Downloading attrs-24.3.0-py3-none-any.whl.metadata (11 kB)\n", - "Collecting importlib-resources>=1.4.0 (from jsonschema->pyproject.toml)\n", - " Using cached importlib_resources-6.4.5-py3-none-any.whl.metadata (4.0 kB)\n", - "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema->pyproject.toml)\n", - " Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl.metadata (3.0 kB)\n", - "Collecting pkgutil-resolve-name>=1.3.10 (from jsonschema->pyproject.toml)\n", - " Downloading pkgutil_resolve_name-1.3.10-py3-none-any.whl.metadata (624 bytes)\n", - "Collecting referencing>=0.28.4 (from jsonschema->pyproject.toml)\n", - " Downloading referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)\n", - "Collecting rpds-py>=0.7.1 (from jsonschema->pyproject.toml)\n", - " Downloading rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n", - "Collecting zipp>=3.1.0 (from importlib-resources>=1.4.0->jsonschema->pyproject.toml)\n", - " Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)\n", - "Downloading pyproject_toml-0.0.12-py3-none-any.whl (7.0 kB)\n", - "Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)\n", - "Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)\n", - "Downloading attrs-24.3.0-py3-none-any.whl (63 kB)\n", - "Using cached importlib_resources-6.4.5-py3-none-any.whl (36 kB)\n", - "Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB)\n", - "Downloading pkgutil_resolve_name-1.3.10-py3-none-any.whl (4.7 kB)\n", - "Downloading referencing-0.35.1-py3-none-any.whl (26 kB)\n", - "Downloading rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (360 kB)\n", - "Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)\n", - "Installing collected packages: zipp, toml, rpds-py, pkgutil-resolve-name, attrs, referencing, importlib-resources, jsonschema-specifications, jsonschema, pyproject.toml\n", - " Attempting uninstall: zipp\n", - " Found existing installation: zipp 1.0.0\n", - " Uninstalling zipp-1.0.0:\n", - " Successfully uninstalled zipp-1.0.0\n", - "Successfully installed attrs-24.3.0 importlib-resources-6.4.5 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 pkgutil-resolve-name-1.3.10 pyproject.toml-0.0.12 referencing-0.35.1 rpds-py-0.20.1 toml-0.10.2 zipp-3.20.2\n", - "Collecting fairseq\n", - " Downloading fairseq-0.12.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", - "Collecting cffi (from fairseq)\n", - " Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "Collecting cython (from fairseq)\n", - " Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)\n", - "Collecting hydra-core<1.1,>=1.0.7 (from fairseq)\n", - " Downloading hydra_core-1.0.7-py3-none-any.whl.metadata (3.7 kB)\n", - "Collecting omegaconf<2.1 (from fairseq)\n", - " Downloading omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Downloading omegaconf-2.0.0-py3-none-any.whl.metadata (3.5 kB)\n", - "Collecting regex (from fairseq)\n", - " Downloading regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n", - "Collecting sacrebleu>=1.4.12 (from fairseq)\n", - " Downloading sacrebleu-2.5.1-py3-none-any.whl.metadata (51 kB)\n", - "Collecting torch (from fairseq)\n", - " Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (26 kB)\n", - "Collecting tqdm (from fairseq)\n", - " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "Collecting bitarray (from fairseq)\n", - " Downloading bitarray-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)\n", - "Collecting torchaudio>=0.8.0 (from fairseq)\n", - " Downloading torchaudio-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (6.4 kB)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.24.4)\n", - "Collecting omegaconf<2.1 (from fairseq)\n", - " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0mINFO: pip is looking at multiple versions of hydra-core to determine which version is compatible with other requirements. This could take a while.\n", - "Collecting fairseq\n", - " Downloading fairseq-0.12.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", - "Collecting omegaconf<2.1 (from fairseq)\n", - " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0mCollecting fairseq\n", - " Downloading fairseq-0.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", - "Collecting omegaconf<2.1 (from fairseq)\n", - " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0mCollecting fairseq\n", - " Downloading fairseq-0.11.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", - "Collecting omegaconf<2.1 (from fairseq)\n", - " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", - "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", - "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", - " PyYAML (>=5.1.*)\n", - " ~~~~~~^\n", - "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", - "\u001b[0mCollecting fairseq\n", - " Downloading fairseq-0.10.2-cp38-cp38-manylinux1_x86_64.whl.metadata (13 kB)\n", - "Collecting dataclasses (from fairseq)\n", - " Downloading dataclasses-0.6-py3-none-any.whl.metadata (3.0 kB)\n", - "Collecting hydra-core (from fairseq)\n", - " Downloading hydra_core-1.3.2-py3-none-any.whl.metadata (5.5 kB)\n", - "Collecting omegaconf<2.4,>=2.2 (from hydra-core->fairseq)\n", - " Downloading omegaconf-2.3.0-py3-none-any.whl.metadata (3.9 kB)\n", - "Collecting antlr4-python3-runtime==4.9.* (from hydra-core->fairseq)\n", - " Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from hydra-core->fairseq) (24.2)\n", - "Requirement already satisfied: importlib-resources in /usr/local/lib/python3.8/dist-packages (from hydra-core->fairseq) (6.4.5)\n", - "Collecting PyYAML>=5.1.0 (from omegaconf<2.4,>=2.2->hydra-core->fairseq)\n", - " Downloading PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", - "Collecting portalocker (from sacrebleu>=1.4.12->fairseq)\n", - " Downloading portalocker-3.0.0-py3-none-any.whl.metadata (8.5 kB)\n", - "Collecting tabulate>=0.8.9 (from sacrebleu>=1.4.12->fairseq)\n", - " Downloading tabulate-0.9.0-py3-none-any.whl.metadata (34 kB)\n", - "Collecting colorama (from sacrebleu>=1.4.12->fairseq)\n", - " Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", - "Collecting lxml (from sacrebleu>=1.4.12->fairseq)\n", - " Downloading lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (3.8 kB)\n", - "Collecting pycparser (from cffi->fairseq)\n", - " Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)\n", - "Collecting filelock (from torch->fairseq)\n", - " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", - "Collecting typing-extensions>=4.8.0 (from torch->fairseq)\n", - " Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", - "Collecting sympy (from torch->fairseq)\n", - " Using cached sympy-1.13.3-py3-none-any.whl.metadata (12 kB)\n", - "Collecting networkx (from torch->fairseq)\n", - " Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)\n", - "Collecting jinja2 (from torch->fairseq)\n", - " Using cached jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", - "Collecting fsspec (from torch->fairseq)\n", - " Using cached fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", - "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch->fairseq)\n", - " Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch->fairseq)\n", - " Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch->fairseq)\n", - " Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch->fairseq)\n", - " Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch->fairseq)\n", - " Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch->fairseq)\n", - " Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-curand-cu12==10.3.2.106 (from torch->fairseq)\n", - " Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch->fairseq)\n", - " Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch->fairseq)\n", - " Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-nccl-cu12==2.20.5 (from torch->fairseq)\n", - " Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "Collecting nvidia-nvtx-cu12==12.1.105 (from torch->fairseq)\n", - " Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", - "Collecting triton==3.0.0 (from torch->fairseq)\n", - " Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", - "Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch->fairseq)\n", - " Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", - "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources->hydra-core->fairseq) (3.20.2)\n", - "Collecting MarkupSafe>=2.0 (from jinja2->torch->fairseq)\n", - " Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", - "Collecting mpmath<1.4,>=1.1.0 (from sympy->torch->fairseq)\n", - " Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "Downloading fairseq-0.10.2-cp38-cp38-manylinux1_x86_64.whl (1.7 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m80.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hDownloading hydra_core-1.3.2-py3-none-any.whl (154 kB)\n", - "Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\n", - "Downloading sacrebleu-2.5.1-py3-none-any.whl (104 kB)\n", - "Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)\n", - "Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)\n", - "Downloading dataclasses-0.6-py3-none-any.whl (14 kB)\n", - "Downloading regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (785 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m785.1/785.1 kB\u001b[0m \u001b[31m41.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hUsing cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl (797.1 MB)\n", - "Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", - "Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", - "Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", - "Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", - "Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", - "Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", - "Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", - "Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", - "Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", - "Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", - "Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", - "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "Downloading tabulate-0.9.0-py3-none-any.whl (35 kB)\n", - "Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", - "Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", - "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\n", - "Using cached fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", - "Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)\n", - "Downloading lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl (5.1 MB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m122.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hUsing cached networkx-3.1-py3-none-any.whl (2.1 MB)\n", - "Downloading portalocker-3.0.0-py3-none-any.whl (19 kB)\n", - "Using cached pycparser-2.22-py3-none-any.whl (117 kB)\n", - "Using cached sympy-1.13.3-py3-none-any.whl (6.2 MB)\n", - "Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26 kB)\n", - "Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)\n", - "Downloading PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (746 kB)\n", - "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m746.5/746.5 kB\u001b[0m \u001b[31m38.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", - "\u001b[?25hUsing cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.2 MB)\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=144556 sha256=46f1202b935307dbd2f6ad08d048db1a972167c1cc5e3390d6e81c596152e9be\n", - " Stored in directory: /root/.cache/pip/wheels/b1/a3/c2/6df046c09459b73cc9bb6c4401b0be6c47048baf9a1617c485\n", - "Successfully built antlr4-python3-runtime\n", - "Installing collected packages: mpmath, dataclasses, antlr4-python3-runtime, typing-extensions, tqdm, tabulate, sympy, regex, PyYAML, pycparser, portalocker, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, lxml, fsspec, filelock, cython, colorama, triton, sacrebleu, omegaconf, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, cffi, nvidia-cusolver-cu12, hydra-core, torch, fairseq\n", - "Successfully installed MarkupSafe-2.1.5 PyYAML-6.0.2 antlr4-python3-runtime-4.9.3 cffi-1.17.1 colorama-0.4.6 cython-3.0.11 dataclasses-0.6 fairseq-0.10.2 filelock-3.16.1 fsspec-2024.12.0 hydra-core-1.3.2 jinja2-3.1.5 lxml-5.3.0 mpmath-1.3.0 networkx-3.1 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.8.61 nvidia-nvtx-cu12-12.1.105 omegaconf-2.3.0 portalocker-3.0.0 pycparser-2.22 regex-2024.11.6 sacrebleu-2.5.1 sympy-1.13.3 tabulate-0.9.0 torch-2.4.1 tqdm-4.67.1 triton-3.0.0 typing-extensions-4.12.2\n" - ] - }, - { - "output_type": "display_data", - "data": { - "application/vnd.colab-display-data+json": { - "pip_warning": { - "packages": [ - "_cffi_backend", - "tabulate", - "tqdm" - ] - }, - "id": "1dde161770614c98a4707152815efbe2" - } - }, - "metadata": {} - } - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "sR4ExzplfBHk", - "outputId": "898dca83-879e-49aa-f1b0-e3fb4e83b66b", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "%cd /content/MakeItTalk/\n", - "!export PYTHONPATH=/content/MakeItTalk:$PYTHONPATH\n", - "!pip install -r requirements.txt\n", - "!pip install tensorboardX" - ], - "execution_count": 53, - "outputs": [ - { - "output_type": "stream", - "name": "stdout", - "text": [ - "/content/MakeItTalk\n", - "Collecting ffmpeg-python (from -r requirements.txt (line 1))\n", - " Using cached ffmpeg_python-0.2.0-py3-none-any.whl.metadata (1.7 kB)\n", - "Collecting opencv-python (from -r requirements.txt (line 2))\n", - " Using cached opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n", - "Collecting face_alignment (from -r requirements.txt (line 3))\n", - " Using cached face_alignment-1.4.1-py2.py3-none-any.whl.metadata (7.4 kB)\n", - "Collecting scikit-learn (from -r requirements.txt (line 4))\n", - " Using cached scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)\n", - "Requirement already satisfied: pydub in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 5)) (0.25.1)\n", - "Requirement already satisfied: pynormalize in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 6)) (0.1.4)\n", - "Collecting soundfile (from -r requirements.txt (line 7))\n", - " Using cached soundfile-0.13.0-py2.py3-none-manylinux_2_28_x86_64.whl.metadata (16 kB)\n", - "Collecting librosa==0.6.3 (from -r requirements.txt (line 8))\n", - " Using cached librosa-0.6.3-py3-none-any.whl\n", - "Collecting pysptk (from -r requirements.txt (line 9))\n", - " Using cached pysptk-1.0.1.tar.gz (461 kB)\n", - " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", - " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting pyworld (from -r requirements.txt (line 10))\n", - " Using cached pyworld-0.3.5.tar.gz (261 kB)\n", - " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", - " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", - " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting resemblyzer==0.1.1.dev0 (from -r requirements.txt (line 11))\n", - " Using cached Resemblyzer-0.1.1.dev0-py3-none-any.whl.metadata (3.6 kB)\n", - "Collecting audioread>=2.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached audioread-3.0.1-py3-none-any.whl.metadata (8.4 kB)\n", - "Requirement already satisfied: numpy>=1.8.0 in /usr/local/lib/python3.8/dist-packages (from librosa==0.6.3->-r requirements.txt (line 8)) (1.24.4)\n", - "Collecting scipy>=1.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (58 kB)\n", - "Collecting joblib>=0.12 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)\n", - "Collecting decorator>=3.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached decorator-5.1.1-py3-none-any.whl.metadata (4.0 kB)\n", - "Requirement already satisfied: six>=1.3 in /usr/lib/python3/dist-packages (from librosa==0.6.3->-r requirements.txt (line 8)) (1.16.0)\n", - "Collecting resampy>=0.2.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached resampy-0.4.3-py3-none-any.whl.metadata (3.0 kB)\n", - "Collecting numba>=0.38.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.7 kB)\n", - "Collecting webrtcvad>=2.0.10 (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached webrtcvad-2.0.10.tar.gz (66 kB)\n", - " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", - "Collecting torch>=1.0.1 (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (26 kB)\n", - "Collecting typing (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached typing-3.7.4.3-py3-none-any.whl\n", - "Collecting future (from ffmpeg-python->-r requirements.txt (line 1))\n", - " Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)\n", - "Collecting scikit-image (from face_alignment->-r requirements.txt (line 3))\n", - " Using cached scikit_image-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", - "Collecting tqdm (from face_alignment->-r requirements.txt (line 3))\n", - " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", - "Collecting threadpoolctl>=2.0.0 (from scikit-learn->-r requirements.txt (line 4))\n", - " Using cached threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)\n", - "Requirement already satisfied: mutagen>=1.40.0 in /usr/local/lib/python3.8/dist-packages (from pynormalize->-r requirements.txt (line 6)) (1.47.0)\n", - "Collecting cffi>=1.0 (from soundfile->-r requirements.txt (line 7))\n", - " Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)\n", - "Collecting cython>=0.28.0 (from pysptk->-r requirements.txt (line 9))\n", - " Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)\n", - "Collecting pycparser (from cffi>=1.0->soundfile->-r requirements.txt (line 7))\n", - " Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)\n", - "Collecting llvmlite<0.42,>=0.41.0dev0 (from numba>=0.38.0->librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.8 kB)\n", - "Requirement already satisfied: importlib-metadata in /usr/lib/python3/dist-packages (from numba>=0.38.0->librosa==0.6.3->-r requirements.txt (line 8)) (4.6.4)\n", - "Collecting importlib-resources (from resampy>=0.2.0->librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached importlib_resources-6.4.5-py3-none-any.whl.metadata (4.0 kB)\n", - "Collecting filelock (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", - "Collecting typing-extensions>=4.8.0 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", - "Collecting sympy (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached sympy-1.13.3-py3-none-any.whl.metadata (12 kB)\n", - "Collecting networkx (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)\n", - "Collecting jinja2 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", - "Collecting fsspec (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", - "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-curand-cu12==10.3.2.106 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", - "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", - "Collecting nvidia-nccl-cu12==2.20.5 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", - "Collecting nvidia-nvtx-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", - "Collecting triton==3.0.0 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", - "Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", - "Collecting pillow>=9.0.1 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", - " Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (9.2 kB)\n", - "Collecting imageio>=2.27 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", - " Using cached imageio-2.35.1-py3-none-any.whl.metadata (4.9 kB)\n", - "Collecting tifffile>=2022.8.12 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", - " Using cached tifffile-2023.7.10-py3-none-any.whl.metadata (31 kB)\n", - "Collecting PyWavelets>=1.1.1 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", - " Using cached PyWavelets-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.9 kB)\n", - "Requirement already satisfied: packaging>=21 in /usr/local/lib/python3.8/dist-packages (from scikit-image->face_alignment->-r requirements.txt (line 3)) (24.2)\n", - "Collecting lazy_loader>=0.2 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", - " Using cached lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", - "Collecting zipp>=3.1.0 (from importlib-resources->resampy>=0.2.0->librosa==0.6.3->-r requirements.txt (line 8))\n", - " Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)\n", - "Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", - "Collecting mpmath<1.4,>=1.1.0 (from sympy->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", - " Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", - "Using cached Resemblyzer-0.1.1.dev0-py3-none-any.whl (15.7 MB)\n", - "Using cached ffmpeg_python-0.2.0-py3-none-any.whl (25 kB)\n", - "Using cached opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (63.0 MB)\n", - "Using cached face_alignment-1.4.1-py2.py3-none-any.whl (30 kB)\n", - "Using cached scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB)\n", - "Using cached soundfile-0.13.0-py2.py3-none-manylinux_2_28_x86_64.whl (1.3 MB)\n", - "Using cached audioread-3.0.1-py3-none-any.whl (23 kB)\n", - "Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)\n", - "Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)\n", - "Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)\n", - "Using cached joblib-1.4.2-py3-none-any.whl (301 kB)\n", - "Using cached numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.7 MB)\n", - "Using cached resampy-0.4.3-py3-none-any.whl (3.1 MB)\n", - "Using cached scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)\n", - "Using cached threadpoolctl-3.5.0-py3-none-any.whl (18 kB)\n", - "Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl (797.1 MB)\n", - "Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", - "Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", - "Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", - "Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", - "Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", - "Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", - "Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", - "Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", - "Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", - "Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", - "Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", - "Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", - "Using cached future-1.0.0-py3-none-any.whl (491 kB)\n", - "Using cached scikit_image-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB)\n", - "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", - "Using cached imageio-2.35.1-py3-none-any.whl (315 kB)\n", - "Using cached lazy_loader-0.4-py3-none-any.whl (12 kB)\n", - "Using cached llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.6 MB)\n", - "Using cached networkx-3.1-py3-none-any.whl (2.1 MB)\n", - "Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (4.5 MB)\n", - "Using cached PyWavelets-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB)\n", - "Using cached tifffile-2023.7.10-py3-none-any.whl (220 kB)\n", - "Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", - "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\n", - "Using cached fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", - "Using cached importlib_resources-6.4.5-py3-none-any.whl (36 kB)\n", - "Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)\n", - "Using cached pycparser-2.22-py3-none-any.whl (117 kB)\n", - "Using cached sympy-1.13.3-py3-none-any.whl (6.2 MB)\n", - "Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26 kB)\n", - "Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)\n", - "Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)\n", - "Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.2 MB)\n", - "Building wheels for collected packages: pysptk, pyworld, webrtcvad\n", - " \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", - " \n", - " \u001b[31m×\u001b[0m \u001b[32mBuilding wheel for pysptk \u001b[0m\u001b[1;32m(\u001b[0m\u001b[32mpyproject.toml\u001b[0m\u001b[1;32m)\u001b[0m did not run successfully.\n", - " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", - " \u001b[31m╰─>\u001b[0m See above for output.\n", - " \n", - " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", - " Building wheel for pysptk (pyproject.toml) ... \u001b[?25l\u001b[?25herror\n", - "\u001b[31m ERROR: Failed building wheel for pysptk\u001b[0m\u001b[31m\n", - "\u001b[0m \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", - " \n", - " \u001b[31m×\u001b[0m \u001b[32mBuilding wheel for pyworld \u001b[0m\u001b[1;32m(\u001b[0m\u001b[32mpyproject.toml\u001b[0m\u001b[1;32m)\u001b[0m did not run successfully.\n", - " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", - " \u001b[31m╰─>\u001b[0m See above for output.\n", - " \n", - " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", - " Building wheel for pyworld (pyproject.toml) ... \u001b[?25l\u001b[?25herror\n", - "\u001b[31m ERROR: Failed building wheel for pyworld\u001b[0m\u001b[31m\n", - "\u001b[0m \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", - " \n", - " \u001b[31m×\u001b[0m \u001b[32mpython setup.py bdist_wheel\u001b[0m did not run successfully.\n", - " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", - " \u001b[31m╰─>\u001b[0m See above for output.\n", - " \n", - " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", - " Building wheel for webrtcvad (setup.py) ... \u001b[?25lerror\n", - "\u001b[31m ERROR: Failed building wheel for webrtcvad\u001b[0m\u001b[31m\n", - "\u001b[0m\u001b[?25h Running setup.py clean for webrtcvad\n", - "Failed to build pysptk pyworld webrtcvad\n", - "\u001b[31mERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pysptk, pyworld, webrtcvad)\u001b[0m\u001b[31m\n", - "\u001b[0mRequirement already satisfied: tensorboardX in /usr/local/lib/python3.8/dist-packages (2.6.2.2)\n", - "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (1.24.4)\n", - "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (24.2)\n", - "Requirement already satisfied: protobuf>=3.20 in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (5.29.3)\n" - ] - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "AByGGO5fd14P" - }, - "source": [ - "- Download pretrained models" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "SU4abC3iTmXA", - "outputId": "d035840d-b117-41d8-ff48-5d69ae1b3e51", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "!mkdir examples/dump\n", - "!mkdir examples/ckpt\n", - "!pip install gdown\n", - "!gdown -O examples/ckpt/ckpt_autovc.pth https://drive.google.com/uc?id=1ZiwPp_h62LtjU0DwpelLUoodKPR85K7x\n", - "!gdown -O examples/ckpt/ckpt_content_branch.pth https://drive.google.com/uc?id=1r3bfEvTVl6pCNw5xwUhEglwDHjWtAqQp\n", - "!gdown -O examples/ckpt/ckpt_speaker_branch.pth https://drive.google.com/uc?id=1rV0jkyDqPW-aDJcj7xSO6Zt1zSXqn1mu\n", - "!gdown -O examples/ckpt/ckpt_116_i2i_comb.pth https://drive.google.com/uc?id=1i2LJXKp-yWKIEEgJ7C6cE3_2NirfY_0a\n", - "!gdown -O examples/dump/emb.pickle https://drive.google.com/uc?id=18-0CYl5E6ungS3H4rRSHjfYvvm-WwjTI" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "mkdir: cannot create directory ‘examples/dump’: File exists\n", - "mkdir: cannot create directory ‘examples/ckpt’: File exists\n", - "Requirement already satisfied: gdown in /usr/local/lib/python3.6/dist-packages (3.6.4)\n", - "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from gdown) (1.15.0)\n", - "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from gdown) (2.23.0)\n", - "Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from gdown) (4.41.1)\n", - "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (3.0.4)\n", - "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (2.10)\n", - "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (1.24.3)\n", - "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (2020.6.20)\n", - "Downloading...\n", - "From: https://drive.google.com/uc?id=1ZiwPp_h62LtjU0DwpelLUoodKPR85K7x\n", - "To: /content/MakeItTalk/examples/ckpt/ckpt_autovc.pth\n", - "172MB [00:01, 116MB/s]\n", - "Downloading...\n", - "From: https://drive.google.com/uc?id=1r3bfEvTVl6pCNw5xwUhEglwDHjWtAqQp\n", - "To: /content/MakeItTalk/examples/ckpt/ckpt_content_branch.pth\n", - "7.88MB [00:00, 67.0MB/s]\n", - "Downloading...\n", - "From: https://drive.google.com/uc?id=1rV0jkyDqPW-aDJcj7xSO6Zt1zSXqn1mu\n", - "To: /content/MakeItTalk/examples/ckpt/ckpt_speaker_branch.pth\n", - "15.4MB [00:00, 135MB/s]\n", - "Downloading...\n", - "From: https://drive.google.com/uc?id=1i2LJXKp-yWKIEEgJ7C6cE3_2NirfY_0a\n", - "To: /content/MakeItTalk/examples/ckpt/ckpt_116_i2i_comb.pth\n", - "839MB [00:04, 207MB/s]\n", - "Downloading...\n", - "From: https://drive.google.com/uc?id=18-0CYl5E6ungS3H4rRSHjfYvvm-WwjTI\n", - "To: /content/MakeItTalk/examples/dump/emb.pickle\n", - "30.9MB [00:00, 271MB/s]\n" - ], - "name": "stdout" - } - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "37JeD3ZZdI-a" - }, - "source": [ - "- prepare your images/audios (or you can use the existing ones)\n", - " - An image to animate: upload to `MakeItTalk/examples` folder, image size should be 256x256\n", - " - An audio (hopefully no noise) to talk: upload to `MakeItTalk/examples` folder as well\n", - "\n", - "## Step 0: import necessary packages" - ] - }, - { - "cell_type": "code", - "metadata": { - "id": "olj6VcfiTrd_" - }, - "source": [ - "import sys\n", - "sys.path.append(\"thirdparty/AdaptiveWingLoss\")\n", - "import os, glob\n", - "import numpy as np\n", - "import cv2\n", - "import argparse\n", - "from src.approaches.train_image_translation import Image_translation_block\n", - "import torch\n", - "import pickle\n", - "import face_alignment\n", - "from src.autovc.AutoVC_mel_Convertor_retrain_version import AutoVC_mel_Convertor\n", - "import shutil\n", - "import time\n", - "import util.utils as util\n", - "from scipy.signal import savgol_filter\n", - "from src.approaches.train_audio2landmark import Audio2landmark_model" - ], - "execution_count": null, - "outputs": [] - }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "accelerator": "GPU" + }, + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GXaL7nU6TEsV" + }, + "source": [ + "# MakeItTalk Quick Demo (natural human face animation)\n", + "\n", + "- included project setup + pretrained model download\n", + "- provides step-by-step details\n", + "- todo: tdlr version" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2owgbZ22TQmz" + }, + "source": [ + "## Preparations\n", + "- Check GPU" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "yB-ixde4R3nO", + "outputId": "4ce86481-2c79-4113-c2e7-94ca0c9c5095", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "!ln -sf /opt/bin/nvidia-smi /usr/bin/nvidia-smi\n", + "import subprocess\n", + "print(subprocess.getoutput('nvidia-smi'))" + ], + "execution_count": 48, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "A8aaCE6vgmXy" - }, - "source": [ - "## Step 1: Basic setup for the animation" - ] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "Fri Jan 24 01:44:15 2025 \n", + "+---------------------------------------------------------------------------------------+\n", + "| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: 12.2 |\n", + "|-----------------------------------------+----------------------+----------------------+\n", + "| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |\n", + "| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |\n", + "| | | MIG M. |\n", + "|=========================================+======================+======================|\n", + "| 0 Tesla T4 Off | 00000000:00:04.0 Off | 0 |\n", + "| N/A 40C P8 9W / 70W | 0MiB / 15360MiB | 0% Default |\n", + "| | | N/A |\n", + "+-----------------------------------------+----------------------+----------------------+\n", + " \n", + "+---------------------------------------------------------------------------------------+\n", + "| Processes: |\n", + "| GPU GI CI PID Type Process name GPU Memory |\n", + "| ID ID Usage |\n", + "|=======================================================================================|\n", + "| No running processes found |\n", + "+---------------------------------------------------------------------------------------+\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "o31a6SpeTXDM" + }, + "source": [ + "- Check ffmpeg" + ] + }, + { + "cell_type": "code", + "source": [ + "#!add-apt-repository ppa:jonathonf/ffmpeg-4\n", + "#!apt-get update\n", + "!apt-get install ffmpeg" + ], + "metadata": { + "id": "j43jpL68_cJQ", + "outputId": "4f9426df-91f5-4505-a375-a6edbc229d6f", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 51, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "58s-c9H8dWPW" - }, - "source": [ - "default_head_name = 'paint_boy' # the image name (with no .jpg) to animate\n", - "ADD_NAIVE_EYE = True # whether add naive eye blink\n", - "CLOSE_INPUT_FACE_MOUTH = False # if your image has an opened mouth, put this as True, else False\n", - "AMP_LIP_SHAPE_X = 2. # amplify the lip motion in horizontal direction\n", - "AMP_LIP_SHAPE_Y = 2. # amplify the lip motion in vertical direction\n", - "AMP_HEAD_POSE_MOTION = 0.7 # amplify the head pose motion (usually smaller than 1.0, put it to 0. for a static head pose)" - ], - "execution_count": null, - "outputs": [] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "ffmpeg is already the newest version (7:4.4.2-0ubuntu0.22.04.1).\n", + "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n" + ] + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "u4EcdzstSB71", + "outputId": "f34ece35-76f1-4742-eac5-2cdfaf58f730", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "print(subprocess.getoutput('ffmpeg'))" + ], + "execution_count": 52, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "HRFBOqXMguSH" - }, - "source": [ - "Default hyper-parameters for the model." - ] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers\n", + " built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)\n", + " configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared\n", + " libavutil 56. 70.100 / 56. 70.100\n", + " libavcodec 58.134.100 / 58.134.100\n", + " libavformat 58. 76.100 / 58. 76.100\n", + " libavdevice 58. 13.100 / 58. 13.100\n", + " libavfilter 7.110.100 / 7.110.100\n", + " libswscale 5. 9.100 / 5. 9.100\n", + " libswresample 3. 9.100 / 3. 9.100\n", + " libpostproc 55. 9.100 / 55. 9.100\n", + "Hyper fast Audio and Video encoder\n", + "usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...\n", + "\n", + "Use -h to get full help or, even better, run 'man ffmpeg'\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "taPSDYiSTcM_" + }, + "source": [ + "- Install Github https://github.com/yzhou359/MakeItTalk" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "4G0XLqo4SofV", + "outputId": "c762a690-f380-4999-e896-d19eaedd0b42", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "!git clone https://github.com/yzhou359/MakeItTalk" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "ZkZRYLSCf8TK" - }, - "source": [ - "parser = argparse.ArgumentParser()\n", - "parser.add_argument('--jpg', type=str, default='{}.jpg'.format(default_head_name))\n", - "parser.add_argument('--close_input_face_mouth', default=CLOSE_INPUT_FACE_MOUTH, action='store_true')\n", - "\n", - "parser.add_argument('--load_AUTOVC_name', type=str, default='examples/ckpt/ckpt_autovc.pth')\n", - "parser.add_argument('--load_a2l_G_name', type=str, default='examples/ckpt/ckpt_speaker_branch.pth')\n", - "parser.add_argument('--load_a2l_C_name', type=str, default='examples/ckpt/ckpt_content_branch.pth') #ckpt_audio2landmark_c.pth')\n", - "parser.add_argument('--load_G_name', type=str, default='examples/ckpt/ckpt_116_i2i_comb.pth') #ckpt_image2image.pth') #ckpt_i2i_finetune_150.pth') #c\n", - "\n", - "parser.add_argument('--amp_lip_x', type=float, default=AMP_LIP_SHAPE_X)\n", - "parser.add_argument('--amp_lip_y', type=float, default=AMP_LIP_SHAPE_Y)\n", - "parser.add_argument('--amp_pos', type=float, default=AMP_HEAD_POSE_MOTION)\n", - "parser.add_argument('--reuse_train_emb_list', type=str, nargs='+', default=[]) # ['iWeklsXc0H8']) #['45hn7-LXDX8']) #['E_kmpT-EfOg']) #'iWeklsXc0H8', '29k8RtSUjE0', '45hn7-LXDX8',\n", - "parser.add_argument('--add_audio_in', default=False, action='store_true')\n", - "parser.add_argument('--comb_fan_awing', default=False, action='store_true')\n", - "parser.add_argument('--output_folder', type=str, default='examples')\n", - "\n", - "parser.add_argument('--test_end2end', default=True, action='store_true')\n", - "parser.add_argument('--dump_dir', type=str, default='', help='')\n", - "parser.add_argument('--pos_dim', default=7, type=int)\n", - "parser.add_argument('--use_prior_net', default=True, action='store_true')\n", - "parser.add_argument('--transformer_d_model', default=32, type=int)\n", - "parser.add_argument('--transformer_N', default=2, type=int)\n", - "parser.add_argument('--transformer_heads', default=2, type=int)\n", - "parser.add_argument('--spk_emb_enc_size', default=16, type=int)\n", - "parser.add_argument('--init_content_encoder', type=str, default='')\n", - "parser.add_argument('--lr', type=float, default=1e-3, help='learning rate')\n", - "parser.add_argument('--reg_lr', type=float, default=1e-6, help='weight decay')\n", - "parser.add_argument('--write', default=False, action='store_true')\n", - "parser.add_argument('--segment_batch_size', type=int, default=1, help='batch size')\n", - "parser.add_argument('--emb_coef', default=3.0, type=float)\n", - "parser.add_argument('--lambda_laplacian_smooth_loss', default=1.0, type=float)\n", - "parser.add_argument('--use_11spk_only', default=False, action='store_true')\n", - "parser.add_argument('-f')\n", - "\n", - "opt_parser = parser.parse_args()" - ], - "execution_count": null, - "outputs": [] - }, + "output_type": "stream", + "text": [ + "fatal: destination path 'MakeItTalk' already exists and is not an empty directory.\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "-xe5u4Ede-G5" + }, + "source": [ + "- Install requirements" + ] + }, + { + "cell_type": "code", + "source": [ + "#!lsb_release -a\n", + "##!apt install python3.8\n", + "#!update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 4\n", + "#!update-alternatives --config python3\n", + "!python --version\n", + "!pip3 --version\n", + "#!python -m ensurepip\n", + "#!curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本\n", + "#!python get-pip.py\n", + "#!apt-get install python3-distutils\n", + "#!apt install python3.8-distutils\n" + ], + "metadata": { + "id": "twgWbCC92zbW", + "outputId": "be5ac1d0-c325-4dd8-8545-311e342738f5", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 39, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "qchIUwTTg3AB" - }, - "source": [ - "## Step 2: load the image and detect its landmark" - ] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "Python 3.8.20\n", + "pip 24.3.1 from /usr/local/lib/python3.8/dist-packages/pip (python 3.8)\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "#!python --version\n", + "#!apt update\n", + "!apt install software-properties-common\n", + "!add-apt-repository ppa:deadsnakes/ppa\n", + "\n", + "!apt update\n", + "#!apt install python3.6" + ], + "metadata": { + "id": "iD3vMpy_0klv", + "outputId": "bb6c0439-bc9d-4350-9e44-e7b59c54d0a4", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 8, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "SmYcSmrugxQK" - }, - "source": [ - "img =cv2.imread('examples/' + opt_parser.jpg)\n", - "predictor = face_alignment.FaceAlignment(face_alignment.LandmarksType._3D, device='cpu', flip_input=True)\n", - "shapes = predictor.get_landmarks(img)\n", - "if (not shapes or len(shapes) != 1):\n", - " print('Cannot detect face landmarks. Exit.')\n", - " exit(-1)\n", - "shape_3d = shapes[0]\n", - "\n", - "if(opt_parser.close_input_face_mouth):\n", - " util.close_input_face_mouth(shape_3d)" - ], - "execution_count": null, - "outputs": [] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "software-properties-common is already the newest version (0.99.22.9).\n", + "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", + "Repository: 'deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/ jammy main'\n", + "Description:\n", + "This PPA contains more recent Python versions packaged for Ubuntu.\n", + "\n", + "Disclaimer: there's no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.\n", + "\n", + "Update Note\n", + "===========\n", + "Please use this repository instead of ppa:fkrull/deadsnakes.\n", + "\n", + "Reporting Issues\n", + "================\n", + "\n", + "Issues can be reported in the master issue tracker at:\n", + "https://github.com/deadsnakes/issues/issues\n", + "\n", + "Supported Ubuntu and Python Versions\n", + "====================================\n", + "\n", + "- Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.13\n", + "- Ubuntu 22.04 (jammy) Python3.7 - Python3.9, Python3.11 - Python3.13\n", + "- Ubuntu 24.04 (noble) Python3.7 - Python3.11, Python3.13\n", + "- Note: Python2.7 (focal, jammy), Python 3.8 (focal), Python 3.10 (jammy), Python3.12 (noble) are not provided by deadsnakes as upstream ubuntu provides those packages.\n", + "\n", + "Why some packages aren't built:\n", + "- Note: for focal, older python versions require libssl<1.1 so they are not currently built\n", + "- Note: for jammy and noble, older python versions requre libssl<3 so they are not currently built\n", + "- If you need these, reach out to asottile to set up a private ppa\n", + "\n", + "The packages may also work on other versions of Ubuntu or Debian, but that is not tested or supported.\n", + "\n", + "Packages\n", + "========\n", + "\n", + "The packages provided here are loosely based on the debian upstream packages with some modifications to make them more usable as non-default pythons and on ubuntu. As such, the packages follow debian's patterns and often do not include a full python distribution with just `apt install python#.#`. Here is a list of packages that may be useful along with the default install:\n", + "\n", + "- `python#.#-dev`: includes development headers for building C extensions\n", + "- `python#.#-venv`: provides the standard library `venv` module\n", + "- `python#.#-distutils`: provides the standard library `distutils` module\n", + "- `python#.#-lib2to3`: provides the `2to3-#.#` utility as well as the standard library `lib2to3` module\n", + "- `python#.#-gdbm`: provides the standard library `dbm.gnu` module\n", + "- `python#.#-tk`: provides the standard library `tkinter` module\n", + "\n", + "Third-Party Python Modules\n", + "==========================\n", + "\n", + "Python modules in the official Ubuntu repositories are packaged to work with the Python interpreters from the official repositories. Accordingly, they generally won't work with the Python interpreters from this PPA. As an exception, pure-Python modules for Python 3 will work, but any compiled extension modules won't.\n", + "\n", + "To install 3rd-party Python modules, you should use the common Python packaging tools. For an introduction into the Python packaging ecosystem and its tools, refer to the Python Packaging User Guide:\n", + "https://packaging.python.org/installing/\n", + "\n", + "Sources\n", + "=======\n", + "The package sources are available at:\n", + "https://github.com/deadsnakes/\n", + "\n", + "Nightly Builds\n", + "==============\n", + "\n", + "For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly\n", + "More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa\n", + "Adding repository.\n", + "Press [ENTER] to continue or Ctrl-c to cancel.\n", + "Found existing deb entry in /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", + "Adding deb entry to /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", + "Found existing deb-src entry in /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", + "Adding disabled deb-src entry to /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list\n", + "\n", + "\n", + "Adding key to /etc/apt/trusted.gpg.d/deadsnakes-ubuntu-ppa.gpg with fingerprint F23C5A6CF475977595C89F51BA6932366A755776\n", + "Hit:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease\n", + "Hit:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease\n", + "Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease\n", + "Hit:4 http://archive.ubuntu.com/ubuntu jammy InRelease\n", + "Hit:5 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease\n", + "Hit:6 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\n", + "Hit:7 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy InRelease\n", + "Hit:8 https://r2u.stat.illinois.edu/ubuntu jammy InRelease\n", + "Hit:9 https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy InRelease\n", + "Hit:10 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\n", + "Reading package lists... Done\n", + "W: Skipping acquire of configured file 'main/source/Sources' as repository 'https://r2u.stat.illinois.edu/ubuntu jammy InRelease' does not seem to provide it (sources.list entry misspelt?)\n", + "Hit:1 https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/ InRelease\n", + "Hit:2 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64 InRelease\n", + "Hit:3 http://archive.ubuntu.com/ubuntu jammy InRelease\n", + "Hit:4 http://security.ubuntu.com/ubuntu jammy-security InRelease\n", + "Hit:5 http://archive.ubuntu.com/ubuntu jammy-updates InRelease\n", + "Hit:6 https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy InRelease\n", + "Hit:7 http://archive.ubuntu.com/ubuntu jammy-backports InRelease\n", + "Hit:8 https://ppa.launchpadcontent.net/graphics-drivers/ppa/ubuntu jammy InRelease\n", + "Hit:9 https://ppa.launchpadcontent.net/ubuntugis/ppa/ubuntu jammy InRelease\n", + "Hit:10 https://r2u.stat.illinois.edu/ubuntu jammy InRelease\n", + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "52 packages can be upgraded. Run 'apt list --upgradable' to see them.\n", + "\u001b[1;33mW: \u001b[0mSkipping acquire of configured file 'main/source/Sources' as repository 'https://r2u.stat.illinois.edu/ubuntu jammy InRelease' does not seem to provide it (sources.list entry misspelt?)\u001b[0m\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "%cd /content\n", + "!git clone https://github.com/g-nie/pynormalize.git\n", + "!ls pynormalize\n", + "%cd pynormalize\n", + "!pip install .\n", + "!pip show pynormalize" + ], + "metadata": { + "id": "jzxu-2mG8cF6", + "outputId": "a62be37f-ed52-4d0e-9bea-f92c346fbb08", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "execution_count": 44, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "c_9LmmACg9Mq" - }, - "source": [ - "## (Optional) Simple manual adjustment to landmarks in case FAN is not accurate, e.g.\n", - "- slimmer lips\n", - "- wider eyes\n", - "- wider mouth" - ] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "/content\n", + "fatal: destination path 'pynormalize' already exists and is not an empty directory.\n", + "LICENSE pynormalize README.rst requirements.txt setup.cfg setup.py tests\n", + "/content/pynormalize\n", + "Processing /content/pynormalize\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting pydub>=0.21.0 (from pynormalize==0.1.4)\n", + " Using cached pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)\n", + "Collecting mutagen>=1.40.0 (from pynormalize==0.1.4)\n", + " Downloading mutagen-1.47.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Downloading mutagen-1.47.0-py3-none-any.whl (194 kB)\n", + "Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n", + "Building wheels for collected packages: pynormalize\n", + " Building wheel for pynormalize (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + " Created wheel for pynormalize: filename=pynormalize-0.1.4-py2.py3-none-any.whl size=5694 sha256=a50121687e21e734708407e4ad6aa1dd8cac4d85ee8d0f9e125f2b288bfcbfe8\n", + " Stored in directory: /tmp/pip-ephem-wheel-cache-1fftsv95/wheels/d5/4f/a6/46262f813e8bbc182a1c537c7ff0f828793bbfad9a11d801a4\n", + "Successfully built pynormalize\n", + "Installing collected packages: pydub, mutagen, pynormalize\n", + "Successfully installed mutagen-1.47.0 pydub-0.25.1 pynormalize-0.1.4\n", + "Name: pynormalize\n", + "Version: 0.1.4\n", + "Summary: Audio normalization for Python\n", + "Home-page: https://github.com/giannisterzopoulos/pynormalize\n", + "Author: Giannis Terzopoulos\n", + "Author-email: terzo.giannis@gmail.com\n", + "License: MIT\n", + "Location: /usr/local/lib/python3.8/dist-packages\n", + "Requires: mutagen, pydub\n", + "Required-by: \n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "!gcc --version\n", + "!apt-get -y install build-essential python3-dev ffmpeg\n", + "!pip3 install --upgrade setuptools wheel\n", + "!pip3 install --upgrade pip\n", + "!sudo apt-get install build-essential\n", + "!pip install faiss-cpu\n", + "!pip install ffmpeg-python\n", + "!pip install pyproject.toml\n", + "!pip install fairseq" + ], + "metadata": { + "id": "rmIyyi4ZBIi1", + "outputId": "e200322a-4bf7-4727-b8c3-dd5396f3b5e7", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 1000 + } + }, + "execution_count": 55, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "R2PLXNlhgztJ" - }, - "source": [ - "shape_3d[48:, 0] = (shape_3d[48:, 0] - np.mean(shape_3d[48:, 0])) * 1.05 + np.mean(shape_3d[48:, 0]) # wider lips\n", - "shape_3d[49:54, 1] += 0. # thinner upper lip\n", - "shape_3d[55:60, 1] -= 1. # thinner lower lip\n", - "shape_3d[[37,38,43,44], 1] -=2. # larger eyes\n", - "shape_3d[[40,41,46,47], 1] +=2. # larger eyes" - ], - "execution_count": null, - "outputs": [] + "output_type": "stream", + "name": "stdout", + "text": [ + "gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\n", + "Copyright (C) 2021 Free Software Foundation, Inc.\n", + "This is free software; see the source for copying conditions. There is NO\n", + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n", + "\n", + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "build-essential is already the newest version (12.9ubuntu3).\n", + "python3-dev is already the newest version (3.10.6-1~22.04.1).\n", + "python3-dev set to manually installed.\n", + "ffmpeg is already the newest version (7:4.4.2-0ubuntu0.22.04.1).\n", + "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", + "Requirement already satisfied: setuptools in /usr/local/lib/python3.8/dist-packages (75.3.0)\n", + "Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (0.45.1)\n", + "Requirement already satisfied: pip in /usr/local/lib/python3.8/dist-packages (24.3.1)\n", + "Reading package lists... Done\n", + "Building dependency tree... Done\n", + "Reading state information... Done\n", + "build-essential is already the newest version (12.9ubuntu3).\n", + "0 upgraded, 0 newly installed, 0 to remove and 52 not upgraded.\n", + "Collecting faiss-cpu\n", + " Downloading faiss_cpu-1.8.0.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.7 kB)\n", + "Requirement already satisfied: numpy<2.0,>=1.0 in /usr/local/lib/python3.8/dist-packages (from faiss-cpu) (1.24.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from faiss-cpu) (24.2)\n", + "Downloading faiss_cpu-1.8.0.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.0 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m27.0/27.0 MB\u001b[0m \u001b[31m125.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hInstalling collected packages: faiss-cpu\n", + "Successfully installed faiss-cpu-1.8.0.post1\n", + "Collecting ffmpeg-python\n", + " Using cached ffmpeg_python-0.2.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting future (from ffmpeg-python)\n", + " Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)\n", + "Using cached ffmpeg_python-0.2.0-py3-none-any.whl (25 kB)\n", + "Using cached future-1.0.0-py3-none-any.whl (491 kB)\n", + "Installing collected packages: future, ffmpeg-python\n", + "Successfully installed ffmpeg-python-0.2.0 future-1.0.0\n", + "Collecting pyproject.toml\n", + " Downloading pyproject_toml-0.0.12-py3-none-any.whl.metadata (748 bytes)\n", + "Requirement already satisfied: setuptools>=42 in /usr/local/lib/python3.8/dist-packages (from pyproject.toml) (75.3.0)\n", + "Requirement already satisfied: wheel in /usr/local/lib/python3.8/dist-packages (from pyproject.toml) (0.45.1)\n", + "Collecting toml (from pyproject.toml)\n", + " Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)\n", + "Collecting jsonschema (from pyproject.toml)\n", + " Downloading jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)\n", + "Collecting attrs>=22.2.0 (from jsonschema->pyproject.toml)\n", + " Downloading attrs-24.3.0-py3-none-any.whl.metadata (11 kB)\n", + "Collecting importlib-resources>=1.4.0 (from jsonschema->pyproject.toml)\n", + " Using cached importlib_resources-6.4.5-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema->pyproject.toml)\n", + " Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting pkgutil-resolve-name>=1.3.10 (from jsonschema->pyproject.toml)\n", + " Downloading pkgutil_resolve_name-1.3.10-py3-none-any.whl.metadata (624 bytes)\n", + "Collecting referencing>=0.28.4 (from jsonschema->pyproject.toml)\n", + " Downloading referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)\n", + "Collecting rpds-py>=0.7.1 (from jsonschema->pyproject.toml)\n", + " Downloading rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)\n", + "Collecting zipp>=3.1.0 (from importlib-resources>=1.4.0->jsonschema->pyproject.toml)\n", + " Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)\n", + "Downloading pyproject_toml-0.0.12-py3-none-any.whl (7.0 kB)\n", + "Downloading jsonschema-4.23.0-py3-none-any.whl (88 kB)\n", + "Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)\n", + "Downloading attrs-24.3.0-py3-none-any.whl (63 kB)\n", + "Using cached importlib_resources-6.4.5-py3-none-any.whl (36 kB)\n", + "Downloading jsonschema_specifications-2023.12.1-py3-none-any.whl (18 kB)\n", + "Downloading pkgutil_resolve_name-1.3.10-py3-none-any.whl (4.7 kB)\n", + "Downloading referencing-0.35.1-py3-none-any.whl (26 kB)\n", + "Downloading rpds_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (360 kB)\n", + "Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)\n", + "Installing collected packages: zipp, toml, rpds-py, pkgutil-resolve-name, attrs, referencing, importlib-resources, jsonschema-specifications, jsonschema, pyproject.toml\n", + " Attempting uninstall: zipp\n", + " Found existing installation: zipp 1.0.0\n", + " Uninstalling zipp-1.0.0:\n", + " Successfully uninstalled zipp-1.0.0\n", + "Successfully installed attrs-24.3.0 importlib-resources-6.4.5 jsonschema-4.23.0 jsonschema-specifications-2023.12.1 pkgutil-resolve-name-1.3.10 pyproject.toml-0.0.12 referencing-0.35.1 rpds-py-0.20.1 toml-0.10.2 zipp-3.20.2\n", + "Collecting fairseq\n", + " Downloading fairseq-0.12.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", + "Collecting cffi (from fairseq)\n", + " Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "Collecting cython (from fairseq)\n", + " Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)\n", + "Collecting hydra-core<1.1,>=1.0.7 (from fairseq)\n", + " Downloading hydra_core-1.0.7-py3-none-any.whl.metadata (3.7 kB)\n", + "Collecting omegaconf<2.1 (from fairseq)\n", + " Downloading omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Downloading omegaconf-2.0.0-py3-none-any.whl.metadata (3.5 kB)\n", + "Collecting regex (from fairseq)\n", + " Downloading regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (40 kB)\n", + "Collecting sacrebleu>=1.4.12 (from fairseq)\n", + " Downloading sacrebleu-2.5.1-py3-none-any.whl.metadata (51 kB)\n", + "Collecting torch (from fairseq)\n", + " Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (26 kB)\n", + "Collecting tqdm (from fairseq)\n", + " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", + "Collecting bitarray (from fairseq)\n", + " Downloading bitarray-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (32 kB)\n", + "Collecting torchaudio>=0.8.0 (from fairseq)\n", + " Downloading torchaudio-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (6.4 kB)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from fairseq) (1.24.4)\n", + "Collecting omegaconf<2.1 (from fairseq)\n", + " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0mINFO: pip is looking at multiple versions of hydra-core to determine which version is compatible with other requirements. This could take a while.\n", + "Collecting fairseq\n", + " Downloading fairseq-0.12.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", + "Collecting omegaconf<2.1 (from fairseq)\n", + " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0mCollecting fairseq\n", + " Downloading fairseq-0.12.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", + "Collecting omegaconf<2.1 (from fairseq)\n", + " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0mCollecting fairseq\n", + " Downloading fairseq-0.11.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (18 kB)\n", + "Collecting omegaconf<2.1 (from fairseq)\n", + " Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.4-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.4 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/92/b1/4f3023143436f12c98bab53f0b3db617bd18a7d223627d5030e13a7b4fc2/omegaconf-2.0.4-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.3-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.3 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/29/08/a88210c2c1aa0a3f65f05d8a6c98939ccb84b6fb982aa6567dec4e6773f9/omegaconf-2.0.3-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.2-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.2 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/72/fe/f8d162aa059fb4f327fd75144dd69aa7e8acbb6d8d37013e4638c8490e0b/omegaconf-2.0.2-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.1-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.1 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/86/ec/605805e60abdb025b06664d107335031bb8ebdc52e0a90bdbad6a7130279/omegaconf-2.0.1-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.6 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/d0/eb/9d63ce09dd8aa85767c65668d5414958ea29648a0eec80a4a7d311ec2684/omegaconf-2.0.6-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0m Using cached omegaconf-2.0.5-py3-none-any.whl.metadata (3.0 kB)\n", + "\u001b[33mWARNING: Ignoring version 2.0.5 of omegaconf since it has invalid metadata:\n", + "Requested omegaconf<2.1 from https://files.pythonhosted.org/packages/e5/f6/043b6d255dd6fbf2025110cea35b87f4c5100a181681d8eab496269f0d5b/omegaconf-2.0.5-py3-none-any.whl (from fairseq) has invalid metadata: .* suffix can only be used with `==` or `!=` operators\n", + " PyYAML (>=5.1.*)\n", + " ~~~~~~^\n", + "Please use pip<24.1 if you need to use this version.\u001b[0m\u001b[33m\n", + "\u001b[0mCollecting fairseq\n", + " Downloading fairseq-0.10.2-cp38-cp38-manylinux1_x86_64.whl.metadata (13 kB)\n", + "Collecting dataclasses (from fairseq)\n", + " Downloading dataclasses-0.6-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting hydra-core (from fairseq)\n", + " Downloading hydra_core-1.3.2-py3-none-any.whl.metadata (5.5 kB)\n", + "Collecting omegaconf<2.4,>=2.2 (from hydra-core->fairseq)\n", + " Downloading omegaconf-2.3.0-py3-none-any.whl.metadata (3.9 kB)\n", + "Collecting antlr4-python3-runtime==4.9.* (from hydra-core->fairseq)\n", + " Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from hydra-core->fairseq) (24.2)\n", + "Requirement already satisfied: importlib-resources in /usr/local/lib/python3.8/dist-packages (from hydra-core->fairseq) (6.4.5)\n", + "Collecting PyYAML>=5.1.0 (from omegaconf<2.4,>=2.2->hydra-core->fairseq)\n", + " Downloading PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.1 kB)\n", + "Collecting portalocker (from sacrebleu>=1.4.12->fairseq)\n", + " Downloading portalocker-3.0.0-py3-none-any.whl.metadata (8.5 kB)\n", + "Collecting tabulate>=0.8.9 (from sacrebleu>=1.4.12->fairseq)\n", + " Downloading tabulate-0.9.0-py3-none-any.whl.metadata (34 kB)\n", + "Collecting colorama (from sacrebleu>=1.4.12->fairseq)\n", + " Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)\n", + "Collecting lxml (from sacrebleu>=1.4.12->fairseq)\n", + " Downloading lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (3.8 kB)\n", + "Collecting pycparser (from cffi->fairseq)\n", + " Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)\n", + "Collecting filelock (from torch->fairseq)\n", + " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting typing-extensions>=4.8.0 (from torch->fairseq)\n", + " Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting sympy (from torch->fairseq)\n", + " Using cached sympy-1.13.3-py3-none-any.whl.metadata (12 kB)\n", + "Collecting networkx (from torch->fairseq)\n", + " Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)\n", + "Collecting jinja2 (from torch->fairseq)\n", + " Using cached jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "Collecting fsspec (from torch->fairseq)\n", + " Using cached fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch->fairseq)\n", + " Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch->fairseq)\n", + " Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch->fairseq)\n", + " Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch->fairseq)\n", + " Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch->fairseq)\n", + " Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch->fairseq)\n", + " Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-curand-cu12==10.3.2.106 (from torch->fairseq)\n", + " Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch->fairseq)\n", + " Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch->fairseq)\n", + " Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-nccl-cu12==2.20.5 (from torch->fairseq)\n", + " Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-nvtx-cu12==12.1.105 (from torch->fairseq)\n", + " Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", + "Collecting triton==3.0.0 (from torch->fairseq)\n", + " Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", + "Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch->fairseq)\n", + " Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", + "Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.8/dist-packages (from importlib-resources->hydra-core->fairseq) (3.20.2)\n", + "Collecting MarkupSafe>=2.0 (from jinja2->torch->fairseq)\n", + " Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", + "Collecting mpmath<1.4,>=1.1.0 (from sympy->torch->fairseq)\n", + " Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "Downloading fairseq-0.10.2-cp38-cp38-manylinux1_x86_64.whl (1.7 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.7/1.7 MB\u001b[0m \u001b[31m80.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hDownloading hydra_core-1.3.2-py3-none-any.whl (154 kB)\n", + "Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\n", + "Downloading sacrebleu-2.5.1-py3-none-any.whl (104 kB)\n", + "Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)\n", + "Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)\n", + "Downloading dataclasses-0.6-py3-none-any.whl (14 kB)\n", + "Downloading regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (785 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m785.1/785.1 kB\u001b[0m \u001b[31m41.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hUsing cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl (797.1 MB)\n", + "Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", + "Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", + "Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", + "Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", + "Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", + "Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", + "Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", + "Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", + "Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", + "Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", + "Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", + "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", + "Downloading tabulate-0.9.0-py3-none-any.whl (35 kB)\n", + "Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", + "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\n", + "Using cached fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "Downloading lxml-5.3.0-cp38-cp38-manylinux_2_28_x86_64.whl (5.1 MB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m5.1/5.1 MB\u001b[0m \u001b[31m122.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hUsing cached networkx-3.1-py3-none-any.whl (2.1 MB)\n", + "Downloading portalocker-3.0.0-py3-none-any.whl (19 kB)\n", + "Using cached pycparser-2.22-py3-none-any.whl (117 kB)\n", + "Using cached sympy-1.13.3-py3-none-any.whl (6.2 MB)\n", + "Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26 kB)\n", + "Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "Downloading PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (746 kB)\n", + "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m746.5/746.5 kB\u001b[0m \u001b[31m38.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", + "\u001b[?25hUsing cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.2 MB)\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=144556 sha256=46f1202b935307dbd2f6ad08d048db1a972167c1cc5e3390d6e81c596152e9be\n", + " Stored in directory: /root/.cache/pip/wheels/b1/a3/c2/6df046c09459b73cc9bb6c4401b0be6c47048baf9a1617c485\n", + "Successfully built antlr4-python3-runtime\n", + "Installing collected packages: mpmath, dataclasses, antlr4-python3-runtime, typing-extensions, tqdm, tabulate, sympy, regex, PyYAML, pycparser, portalocker, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, networkx, MarkupSafe, lxml, fsspec, filelock, cython, colorama, triton, sacrebleu, omegaconf, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, cffi, nvidia-cusolver-cu12, hydra-core, torch, fairseq\n", + "Successfully installed MarkupSafe-2.1.5 PyYAML-6.0.2 antlr4-python3-runtime-4.9.3 cffi-1.17.1 colorama-0.4.6 cython-3.0.11 dataclasses-0.6 fairseq-0.10.2 filelock-3.16.1 fsspec-2024.12.0 hydra-core-1.3.2 jinja2-3.1.5 lxml-5.3.0 mpmath-1.3.0 networkx-3.1 nvidia-cublas-cu12-12.1.3.1 nvidia-cuda-cupti-cu12-12.1.105 nvidia-cuda-nvrtc-cu12-12.1.105 nvidia-cuda-runtime-cu12-12.1.105 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.0.2.54 nvidia-curand-cu12-10.3.2.106 nvidia-cusolver-cu12-11.4.5.107 nvidia-cusparse-cu12-12.1.0.106 nvidia-nccl-cu12-2.20.5 nvidia-nvjitlink-cu12-12.8.61 nvidia-nvtx-cu12-12.1.105 omegaconf-2.3.0 portalocker-3.0.0 pycparser-2.22 regex-2024.11.6 sacrebleu-2.5.1 sympy-1.13.3 tabulate-0.9.0 torch-2.4.1 tqdm-4.67.1 triton-3.0.0 typing-extensions-4.12.2\n" + ] }, { - "cell_type": "markdown", - "metadata": { - "id": "1nlaLLoShR1k" - }, - "source": [ - "Normalize face as input to audio branch" - ] - }, + "output_type": "display_data", + "data": { + "application/vnd.colab-display-data+json": { + "pip_warning": { + "packages": [ + "_cffi_backend", + "tabulate", + "tqdm" + ] + }, + "id": "1dde161770614c98a4707152815efbe2" + } + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "sR4ExzplfBHk", + "outputId": "898dca83-879e-49aa-f1b0-e3fb4e83b66b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "%cd /content/MakeItTalk/\n", + "!export PYTHONPATH=/content/MakeItTalk:$PYTHONPATH\n", + "!pip install -r requirements.txt\n", + "!pip install tensorboardX" + ], + "execution_count": 53, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "W0GkD0fThN-2" - }, - "source": [ - "shape_3d, scale, shift = util.norm_input_face(shape_3d)" - ], - "execution_count": null, - "outputs": [] - }, + "output_type": "stream", + "name": "stdout", + "text": [ + "/content/MakeItTalk\n", + "Collecting ffmpeg-python (from -r requirements.txt (line 1))\n", + " Using cached ffmpeg_python-0.2.0-py3-none-any.whl.metadata (1.7 kB)\n", + "Collecting opencv-python (from -r requirements.txt (line 2))\n", + " Using cached opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)\n", + "Collecting face_alignment (from -r requirements.txt (line 3))\n", + " Using cached face_alignment-1.4.1-py2.py3-none-any.whl.metadata (7.4 kB)\n", + "Collecting scikit-learn (from -r requirements.txt (line 4))\n", + " Using cached scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB)\n", + "Requirement already satisfied: pydub in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 5)) (0.25.1)\n", + "Requirement already satisfied: pynormalize in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 6)) (0.1.4)\n", + "Collecting soundfile (from -r requirements.txt (line 7))\n", + " Using cached soundfile-0.13.0-py2.py3-none-manylinux_2_28_x86_64.whl.metadata (16 kB)\n", + "Collecting librosa==0.6.3 (from -r requirements.txt (line 8))\n", + " Using cached librosa-0.6.3-py3-none-any.whl\n", + "Collecting pysptk (from -r requirements.txt (line 9))\n", + " Using cached pysptk-1.0.1.tar.gz (461 kB)\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting pyworld (from -r requirements.txt (line 10))\n", + " Using cached pyworld-0.3.5.tar.gz (261 kB)\n", + " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", + " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", + " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting resemblyzer==0.1.1.dev0 (from -r requirements.txt (line 11))\n", + " Using cached Resemblyzer-0.1.1.dev0-py3-none-any.whl.metadata (3.6 kB)\n", + "Collecting audioread>=2.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached audioread-3.0.1-py3-none-any.whl.metadata (8.4 kB)\n", + "Requirement already satisfied: numpy>=1.8.0 in /usr/local/lib/python3.8/dist-packages (from librosa==0.6.3->-r requirements.txt (line 8)) (1.24.4)\n", + "Collecting scipy>=1.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (58 kB)\n", + "Collecting joblib>=0.12 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached joblib-1.4.2-py3-none-any.whl.metadata (5.4 kB)\n", + "Collecting decorator>=3.0.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached decorator-5.1.1-py3-none-any.whl.metadata (4.0 kB)\n", + "Requirement already satisfied: six>=1.3 in /usr/lib/python3/dist-packages (from librosa==0.6.3->-r requirements.txt (line 8)) (1.16.0)\n", + "Collecting resampy>=0.2.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached resampy-0.4.3-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting numba>=0.38.0 (from librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.7 kB)\n", + "Collecting webrtcvad>=2.0.10 (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached webrtcvad-2.0.10.tar.gz (66 kB)\n", + " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", + "Collecting torch>=1.0.1 (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl.metadata (26 kB)\n", + "Collecting typing (from resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached typing-3.7.4.3-py3-none-any.whl\n", + "Collecting future (from ffmpeg-python->-r requirements.txt (line 1))\n", + " Using cached future-1.0.0-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting scikit-image (from face_alignment->-r requirements.txt (line 3))\n", + " Using cached scikit_image-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (14 kB)\n", + "Collecting tqdm (from face_alignment->-r requirements.txt (line 3))\n", + " Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)\n", + "Collecting threadpoolctl>=2.0.0 (from scikit-learn->-r requirements.txt (line 4))\n", + " Using cached threadpoolctl-3.5.0-py3-none-any.whl.metadata (13 kB)\n", + "Requirement already satisfied: mutagen>=1.40.0 in /usr/local/lib/python3.8/dist-packages (from pynormalize->-r requirements.txt (line 6)) (1.47.0)\n", + "Collecting cffi>=1.0 (from soundfile->-r requirements.txt (line 7))\n", + " Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)\n", + "Collecting cython>=0.28.0 (from pysptk->-r requirements.txt (line 9))\n", + " Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.2 kB)\n", + "Collecting pycparser (from cffi>=1.0->soundfile->-r requirements.txt (line 7))\n", + " Using cached pycparser-2.22-py3-none-any.whl.metadata (943 bytes)\n", + "Collecting llvmlite<0.42,>=0.41.0dev0 (from numba>=0.38.0->librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.8 kB)\n", + "Requirement already satisfied: importlib-metadata in /usr/lib/python3/dist-packages (from numba>=0.38.0->librosa==0.6.3->-r requirements.txt (line 8)) (4.6.4)\n", + "Collecting importlib-resources (from resampy>=0.2.0->librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached importlib_resources-6.4.5-py3-none-any.whl.metadata (4.0 kB)\n", + "Collecting filelock (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)\n", + "Collecting typing-extensions>=4.8.0 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)\n", + "Collecting sympy (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached sympy-1.13.3-py3-none-any.whl.metadata (12 kB)\n", + "Collecting networkx (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached networkx-3.1-py3-none-any.whl.metadata (5.3 kB)\n", + "Collecting jinja2 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached jinja2-3.1.5-py3-none-any.whl.metadata (2.6 kB)\n", + "Collecting fsspec (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached fsspec-2024.12.0-py3-none-any.whl.metadata (11 kB)\n", + "Collecting nvidia-cuda-nvrtc-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-runtime-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cuda-cupti-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cudnn-cu12==9.1.0.70 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cublas-cu12==12.1.3.1 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cufft-cu12==11.0.2.54 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-curand-cu12==10.3.2.106 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl.metadata (1.5 kB)\n", + "Collecting nvidia-cusolver-cu12==11.4.5.107 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-cusparse-cu12==12.1.0.106 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl.metadata (1.6 kB)\n", + "Collecting nvidia-nccl-cu12==2.20.5 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl.metadata (1.8 kB)\n", + "Collecting nvidia-nvtx-cu12==12.1.105 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl.metadata (1.7 kB)\n", + "Collecting triton==3.0.0 (from torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.3 kB)\n", + "Collecting nvidia-nvjitlink-cu12 (from nvidia-cusolver-cu12==11.4.5.107->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)\n", + "Collecting pillow>=9.0.1 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", + " Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl.metadata (9.2 kB)\n", + "Collecting imageio>=2.27 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", + " Using cached imageio-2.35.1-py3-none-any.whl.metadata (4.9 kB)\n", + "Collecting tifffile>=2022.8.12 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", + " Using cached tifffile-2023.7.10-py3-none-any.whl.metadata (31 kB)\n", + "Collecting PyWavelets>=1.1.1 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", + " Using cached PyWavelets-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.9 kB)\n", + "Requirement already satisfied: packaging>=21 in /usr/local/lib/python3.8/dist-packages (from scikit-image->face_alignment->-r requirements.txt (line 3)) (24.2)\n", + "Collecting lazy_loader>=0.2 (from scikit-image->face_alignment->-r requirements.txt (line 3))\n", + " Using cached lazy_loader-0.4-py3-none-any.whl.metadata (7.6 kB)\n", + "Collecting zipp>=3.1.0 (from importlib-resources->resampy>=0.2.0->librosa==0.6.3->-r requirements.txt (line 8))\n", + " Using cached zipp-3.20.2-py3-none-any.whl.metadata (3.7 kB)\n", + "Collecting MarkupSafe>=2.0 (from jinja2->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (3.0 kB)\n", + "Collecting mpmath<1.4,>=1.1.0 (from sympy->torch>=1.0.1->resemblyzer==0.1.1.dev0->-r requirements.txt (line 11))\n", + " Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)\n", + "Using cached Resemblyzer-0.1.1.dev0-py3-none-any.whl (15.7 MB)\n", + "Using cached ffmpeg_python-0.2.0-py3-none-any.whl (25 kB)\n", + "Using cached opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (63.0 MB)\n", + "Using cached face_alignment-1.4.1-py2.py3-none-any.whl (30 kB)\n", + "Using cached scikit_learn-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.1 MB)\n", + "Using cached soundfile-0.13.0-py2.py3-none-manylinux_2_28_x86_64.whl (1.3 MB)\n", + "Using cached audioread-3.0.1-py3-none-any.whl (23 kB)\n", + "Using cached cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)\n", + "Using cached Cython-3.0.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.6 MB)\n", + "Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)\n", + "Using cached joblib-1.4.2-py3-none-any.whl (301 kB)\n", + "Using cached numba-0.58.1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.7 MB)\n", + "Using cached resampy-0.4.3-py3-none-any.whl (3.1 MB)\n", + "Using cached scipy-1.10.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)\n", + "Using cached threadpoolctl-3.5.0-py3-none-any.whl (18 kB)\n", + "Using cached torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl (797.1 MB)\n", + "Using cached nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl (410.6 MB)\n", + "Using cached nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (14.1 MB)\n", + "Using cached nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (23.7 MB)\n", + "Using cached nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (823 kB)\n", + "Using cached nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl (664.8 MB)\n", + "Using cached nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl (121.6 MB)\n", + "Using cached nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl (56.5 MB)\n", + "Using cached nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl (124.2 MB)\n", + "Using cached nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl (196.0 MB)\n", + "Using cached nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl (176.2 MB)\n", + "Using cached nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl (99 kB)\n", + "Using cached triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (209.4 MB)\n", + "Using cached future-1.0.0-py3-none-any.whl (491 kB)\n", + "Using cached scikit_image-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.9 MB)\n", + "Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)\n", + "Using cached imageio-2.35.1-py3-none-any.whl (315 kB)\n", + "Using cached lazy_loader-0.4-py3-none-any.whl (12 kB)\n", + "Using cached llvmlite-0.41.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (43.6 MB)\n", + "Using cached networkx-3.1-py3-none-any.whl (2.1 MB)\n", + "Using cached pillow-10.4.0-cp38-cp38-manylinux_2_28_x86_64.whl (4.5 MB)\n", + "Using cached PyWavelets-1.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.9 MB)\n", + "Using cached tifffile-2023.7.10-py3-none-any.whl (220 kB)\n", + "Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)\n", + "Using cached filelock-3.16.1-py3-none-any.whl (16 kB)\n", + "Using cached fsspec-2024.12.0-py3-none-any.whl (183 kB)\n", + "Using cached importlib_resources-6.4.5-py3-none-any.whl (36 kB)\n", + "Using cached jinja2-3.1.5-py3-none-any.whl (134 kB)\n", + "Using cached pycparser-2.22-py3-none-any.whl (117 kB)\n", + "Using cached sympy-1.13.3-py3-none-any.whl (6.2 MB)\n", + "Using cached MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26 kB)\n", + "Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)\n", + "Using cached zipp-3.20.2-py3-none-any.whl (9.2 kB)\n", + "Using cached nvidia_nvjitlink_cu12-12.8.61-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (39.2 MB)\n", + "Building wheels for collected packages: pysptk, pyworld, webrtcvad\n", + " \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", + " \n", + " \u001b[31m×\u001b[0m \u001b[32mBuilding wheel for pysptk \u001b[0m\u001b[1;32m(\u001b[0m\u001b[32mpyproject.toml\u001b[0m\u001b[1;32m)\u001b[0m did not run successfully.\n", + " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", + " \u001b[31m╰─>\u001b[0m See above for output.\n", + " \n", + " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", + " Building wheel for pysptk (pyproject.toml) ... \u001b[?25l\u001b[?25herror\n", + "\u001b[31m ERROR: Failed building wheel for pysptk\u001b[0m\u001b[31m\n", + "\u001b[0m \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", + " \n", + " \u001b[31m×\u001b[0m \u001b[32mBuilding wheel for pyworld \u001b[0m\u001b[1;32m(\u001b[0m\u001b[32mpyproject.toml\u001b[0m\u001b[1;32m)\u001b[0m did not run successfully.\n", + " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", + " \u001b[31m╰─>\u001b[0m See above for output.\n", + " \n", + " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", + " Building wheel for pyworld (pyproject.toml) ... \u001b[?25l\u001b[?25herror\n", + "\u001b[31m ERROR: Failed building wheel for pyworld\u001b[0m\u001b[31m\n", + "\u001b[0m \u001b[1;31merror\u001b[0m: \u001b[1msubprocess-exited-with-error\u001b[0m\n", + " \n", + " \u001b[31m×\u001b[0m \u001b[32mpython setup.py bdist_wheel\u001b[0m did not run successfully.\n", + " \u001b[31m│\u001b[0m exit code: \u001b[1;36m1\u001b[0m\n", + " \u001b[31m╰─>\u001b[0m See above for output.\n", + " \n", + " \u001b[1;35mnote\u001b[0m: This error originates from a subprocess, and is likely not a problem with pip.\n", + " Building wheel for webrtcvad (setup.py) ... \u001b[?25lerror\n", + "\u001b[31m ERROR: Failed building wheel for webrtcvad\u001b[0m\u001b[31m\n", + "\u001b[0m\u001b[?25h Running setup.py clean for webrtcvad\n", + "Failed to build pysptk pyworld webrtcvad\n", + "\u001b[31mERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (pysptk, pyworld, webrtcvad)\u001b[0m\u001b[31m\n", + "\u001b[0mRequirement already satisfied: tensorboardX in /usr/local/lib/python3.8/dist-packages (2.6.2.2)\n", + "Requirement already satisfied: numpy in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (1.24.4)\n", + "Requirement already satisfied: packaging in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (24.2)\n", + "Requirement already satisfied: protobuf>=3.20 in /usr/local/lib/python3.8/dist-packages (from tensorboardX) (5.29.3)\n" + ] + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "AByGGO5fd14P" + }, + "source": [ + "- Download pretrained models" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SU4abC3iTmXA", + "outputId": "d035840d-b117-41d8-ff48-5d69ae1b3e51", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "!mkdir examples/dump\n", + "!mkdir examples/ckpt\n", + "!pip install gdown\n", + "!gdown -O examples/ckpt/ckpt_autovc.pth https://drive.google.com/uc?id=1ZiwPp_h62LtjU0DwpelLUoodKPR85K7x\n", + "!gdown -O examples/ckpt/ckpt_content_branch.pth https://drive.google.com/uc?id=1r3bfEvTVl6pCNw5xwUhEglwDHjWtAqQp\n", + "!gdown -O examples/ckpt/ckpt_speaker_branch.pth https://drive.google.com/uc?id=1rV0jkyDqPW-aDJcj7xSO6Zt1zSXqn1mu\n", + "!gdown -O examples/ckpt/ckpt_116_i2i_comb.pth https://drive.google.com/uc?id=1i2LJXKp-yWKIEEgJ7C6cE3_2NirfY_0a\n", + "!gdown -O examples/dump/emb.pickle https://drive.google.com/uc?id=18-0CYl5E6ungS3H4rRSHjfYvvm-WwjTI" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "FAcGrT3PhY3T" - }, - "source": [ - "## Step 3: Generate input data for inference based on uploaded audio `MakeItTalk/examples/*.wav`" - ] - }, + "output_type": "stream", + "text": [ + "mkdir: cannot create directory ‘examples/dump’: File exists\n", + "mkdir: cannot create directory ‘examples/ckpt’: File exists\n", + "Requirement already satisfied: gdown in /usr/local/lib/python3.6/dist-packages (3.6.4)\n", + "Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from gdown) (1.15.0)\n", + "Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from gdown) (2.23.0)\n", + "Requirement already satisfied: tqdm in /usr/local/lib/python3.6/dist-packages (from gdown) (4.41.1)\n", + "Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (3.0.4)\n", + "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (2.10)\n", + "Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (1.24.3)\n", + "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->gdown) (2020.6.20)\n", + "Downloading...\n", + "From: https://drive.google.com/uc?id=1ZiwPp_h62LtjU0DwpelLUoodKPR85K7x\n", + "To: /content/MakeItTalk/examples/ckpt/ckpt_autovc.pth\n", + "172MB [00:01, 116MB/s]\n", + "Downloading...\n", + "From: https://drive.google.com/uc?id=1r3bfEvTVl6pCNw5xwUhEglwDHjWtAqQp\n", + "To: /content/MakeItTalk/examples/ckpt/ckpt_content_branch.pth\n", + "7.88MB [00:00, 67.0MB/s]\n", + "Downloading...\n", + "From: https://drive.google.com/uc?id=1rV0jkyDqPW-aDJcj7xSO6Zt1zSXqn1mu\n", + "To: /content/MakeItTalk/examples/ckpt/ckpt_speaker_branch.pth\n", + "15.4MB [00:00, 135MB/s]\n", + "Downloading...\n", + "From: https://drive.google.com/uc?id=1i2LJXKp-yWKIEEgJ7C6cE3_2NirfY_0a\n", + "To: /content/MakeItTalk/examples/ckpt/ckpt_116_i2i_comb.pth\n", + "839MB [00:04, 207MB/s]\n", + "Downloading...\n", + "From: https://drive.google.com/uc?id=18-0CYl5E6ungS3H4rRSHjfYvvm-WwjTI\n", + "To: /content/MakeItTalk/examples/dump/emb.pickle\n", + "30.9MB [00:00, 271MB/s]\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "37JeD3ZZdI-a" + }, + "source": [ + "- prepare your images/audios (or you can use the existing ones)\n", + " - An image to animate: upload to `MakeItTalk/examples` folder, image size should be 256x256\n", + " - An audio (hopefully no noise) to talk: upload to `MakeItTalk/examples` folder as well\n", + "\n", + "## Step 0: import necessary packages" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "olj6VcfiTrd_" + }, + "source": [ + "import sys\n", + "sys.path.append(\"thirdparty/AdaptiveWingLoss\")\n", + "import os, glob\n", + "import numpy as np\n", + "import cv2\n", + "import argparse\n", + "from src.approaches.train_image_translation import Image_translation_block\n", + "import torch\n", + "import pickle\n", + "import face_alignment\n", + "from src.autovc.AutoVC_mel_Convertor_retrain_version import AutoVC_mel_Convertor\n", + "import shutil\n", + "import time\n", + "import util.utils as util\n", + "from scipy.signal import savgol_filter\n", + "from src.approaches.train_audio2landmark import Audio2landmark_model" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "A8aaCE6vgmXy" + }, + "source": [ + "## Step 1: Basic setup for the animation" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "58s-c9H8dWPW" + }, + "source": [ + "default_head_name = 'paint_boy' # the image name (with no .jpg) to animate\n", + "ADD_NAIVE_EYE = True # whether add naive eye blink\n", + "CLOSE_INPUT_FACE_MOUTH = False # if your image has an opened mouth, put this as True, else False\n", + "AMP_LIP_SHAPE_X = 2. # amplify the lip motion in horizontal direction\n", + "AMP_LIP_SHAPE_Y = 2. # amplify the lip motion in vertical direction\n", + "AMP_HEAD_POSE_MOTION = 0.7 # amplify the head pose motion (usually smaller than 1.0, put it to 0. for a static head pose)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "HRFBOqXMguSH" + }, + "source": [ + "Default hyper-parameters for the model." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "ZkZRYLSCf8TK" + }, + "source": [ + "parser = argparse.ArgumentParser()\n", + "parser.add_argument('--jpg', type=str, default='{}.jpg'.format(default_head_name))\n", + "parser.add_argument('--close_input_face_mouth', default=CLOSE_INPUT_FACE_MOUTH, action='store_true')\n", + "\n", + "parser.add_argument('--load_AUTOVC_name', type=str, default='examples/ckpt/ckpt_autovc.pth')\n", + "parser.add_argument('--load_a2l_G_name', type=str, default='examples/ckpt/ckpt_speaker_branch.pth')\n", + "parser.add_argument('--load_a2l_C_name', type=str, default='examples/ckpt/ckpt_content_branch.pth') #ckpt_audio2landmark_c.pth')\n", + "parser.add_argument('--load_G_name', type=str, default='examples/ckpt/ckpt_116_i2i_comb.pth') #ckpt_image2image.pth') #ckpt_i2i_finetune_150.pth') #c\n", + "\n", + "parser.add_argument('--amp_lip_x', type=float, default=AMP_LIP_SHAPE_X)\n", + "parser.add_argument('--amp_lip_y', type=float, default=AMP_LIP_SHAPE_Y)\n", + "parser.add_argument('--amp_pos', type=float, default=AMP_HEAD_POSE_MOTION)\n", + "parser.add_argument('--reuse_train_emb_list', type=str, nargs='+', default=[]) # ['iWeklsXc0H8']) #['45hn7-LXDX8']) #['E_kmpT-EfOg']) #'iWeklsXc0H8', '29k8RtSUjE0', '45hn7-LXDX8',\n", + "parser.add_argument('--add_audio_in', default=False, action='store_true')\n", + "parser.add_argument('--comb_fan_awing', default=False, action='store_true')\n", + "parser.add_argument('--output_folder', type=str, default='examples')\n", + "\n", + "parser.add_argument('--test_end2end', default=True, action='store_true')\n", + "parser.add_argument('--dump_dir', type=str, default='', help='')\n", + "parser.add_argument('--pos_dim', default=7, type=int)\n", + "parser.add_argument('--use_prior_net', default=True, action='store_true')\n", + "parser.add_argument('--transformer_d_model', default=32, type=int)\n", + "parser.add_argument('--transformer_N', default=2, type=int)\n", + "parser.add_argument('--transformer_heads', default=2, type=int)\n", + "parser.add_argument('--spk_emb_enc_size', default=16, type=int)\n", + "parser.add_argument('--init_content_encoder', type=str, default='')\n", + "parser.add_argument('--lr', type=float, default=1e-3, help='learning rate')\n", + "parser.add_argument('--reg_lr', type=float, default=1e-6, help='weight decay')\n", + "parser.add_argument('--write', default=False, action='store_true')\n", + "parser.add_argument('--segment_batch_size', type=int, default=1, help='batch size')\n", + "parser.add_argument('--emb_coef', default=3.0, type=float)\n", + "parser.add_argument('--lambda_laplacian_smooth_loss', default=1.0, type=float)\n", + "parser.add_argument('--use_11spk_only', default=False, action='store_true')\n", + "parser.add_argument('-f')\n", + "\n", + "opt_parser = parser.parse_args()" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "qchIUwTTg3AB" + }, + "source": [ + "## Step 2: load the image and detect its landmark" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "SmYcSmrugxQK" + }, + "source": [ + "img =cv2.imread('examples/' + opt_parser.jpg)\n", + "predictor = face_alignment.FaceAlignment(face_alignment.LandmarksType._3D, device='cpu', flip_input=True)\n", + "shapes = predictor.get_landmarks(img)\n", + "if (not shapes or len(shapes) != 1):\n", + " print('Cannot detect face landmarks. Exit.')\n", + " exit(-1)\n", + "shape_3d = shapes[0]\n", + "\n", + "if(opt_parser.close_input_face_mouth):\n", + " util.close_input_face_mouth(shape_3d)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "c_9LmmACg9Mq" + }, + "source": [ + "## (Optional) Simple manual adjustment to landmarks in case FAN is not accurate, e.g.\n", + "- slimmer lips\n", + "- wider eyes\n", + "- wider mouth" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "R2PLXNlhgztJ" + }, + "source": [ + "shape_3d[48:, 0] = (shape_3d[48:, 0] - np.mean(shape_3d[48:, 0])) * 1.05 + np.mean(shape_3d[48:, 0]) # wider lips\n", + "shape_3d[49:54, 1] += 0. # thinner upper lip\n", + "shape_3d[55:60, 1] -= 1. # thinner lower lip\n", + "shape_3d[[37,38,43,44], 1] -=2. # larger eyes\n", + "shape_3d[[40,41,46,47], 1] +=2. # larger eyes" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "1nlaLLoShR1k" + }, + "source": [ + "Normalize face as input to audio branch" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "W0GkD0fThN-2" + }, + "source": [ + "shape_3d, scale, shift = util.norm_input_face(shape_3d)" + ], + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "FAcGrT3PhY3T" + }, + "source": [ + "## Step 3: Generate input data for inference based on uploaded audio `MakeItTalk/examples/*.wav`" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Mqh5A_7chQ8g", + "outputId": "e7a357f9-dbc7-4597-a7e9-184e69b705ba", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "au_data = []\n", + "au_emb = []\n", + "ains = glob.glob1('examples', '*.wav')\n", + "ains = [item for item in ains if item is not 'tmp.wav']\n", + "ains.sort()\n", + "for ain in ains:\n", + " subprocess.run(['ffmpeg', '-y', '-loglevel', 'error', '-i', 'examples/{}'.format(ain), '-ar', '16000', 'examples/tmp.wav'])\n", + " shutil.copyfile('examples/tmp.wav', 'examples/{}'.format(ain))\n", + "\n", + " # au embedding\n", + " from thirdparty.resemblyer_util.speaker_emb import get_spk_emb\n", + " me, ae = get_spk_emb('examples/{}'.format(ain))\n", + " au_emb.append(me.reshape(-1))\n", + "\n", + " print('Processing audio file', ain)\n", + " c = AutoVC_mel_Convertor('examples')\n", + "\n", + " au_data_i = c.convert_single_wav_to_autovc_input(audio_filename=os.path.join('examples', ain),\n", + " autovc_model_path=opt_parser.load_AUTOVC_name)\n", + " au_data += au_data_i\n", + "if(os.path.isfile('examples/tmp.wav')):\n", + " os.remove('examples/tmp.wav')\n", + "\n", + "# landmark fake placeholder\n", + "fl_data = []\n", + "rot_tran, rot_quat, anchor_t_shape = [], [], []\n", + "for au, info in au_data:\n", + " au_length = au.shape[0]\n", + " fl = np.zeros(shape=(au_length, 68 * 3))\n", + " fl_data.append((fl, info))\n", + " rot_tran.append(np.zeros(shape=(au_length, 3, 4)))\n", + " rot_quat.append(np.zeros(shape=(au_length, 4)))\n", + " anchor_t_shape.append(np.zeros(shape=(au_length, 68 * 3)))\n", + "\n", + "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_fl.pickle'))):\n", + " os.remove(os.path.join('examples', 'dump', 'random_val_fl.pickle'))\n", + "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_fl_interp.pickle'))):\n", + " os.remove(os.path.join('examples', 'dump', 'random_val_fl_interp.pickle'))\n", + "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_au.pickle'))):\n", + " os.remove(os.path.join('examples', 'dump', 'random_val_au.pickle'))\n", + "if (os.path.exists(os.path.join('examples', 'dump', 'random_val_gaze.pickle'))):\n", + " os.remove(os.path.join('examples', 'dump', 'random_val_gaze.pickle'))\n", + "\n", + "with open(os.path.join('examples', 'dump', 'random_val_fl.pickle'), 'wb') as fp:\n", + " pickle.dump(fl_data, fp)\n", + "with open(os.path.join('examples', 'dump', 'random_val_au.pickle'), 'wb') as fp:\n", + " pickle.dump(au_data, fp)\n", + "with open(os.path.join('examples', 'dump', 'random_val_gaze.pickle'), 'wb') as fp:\n", + " gaze = {'rot_trans':rot_tran, 'rot_quat':rot_quat, 'anchor_t_shape':anchor_t_shape}\n", + " pickle.dump(gaze, fp)" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "Mqh5A_7chQ8g", - "outputId": "e7a357f9-dbc7-4597-a7e9-184e69b705ba", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "au_data = []\n", - "au_emb = []\n", - "ains = glob.glob1('examples', '*.wav')\n", - "ains = [item for item in ains if item is not 'tmp.wav']\n", - "ains.sort()\n", - "for ain in ains:\n", - " os.system('ffmpeg -y -loglevel error -i examples/{} -ar 16000 examples/tmp.wav'.format(ain))\n", - " shutil.copyfile('examples/tmp.wav', 'examples/{}'.format(ain))\n", - "\n", - " # au embedding\n", - " from thirdparty.resemblyer_util.speaker_emb import get_spk_emb\n", - " me, ae = get_spk_emb('examples/{}'.format(ain))\n", - " au_emb.append(me.reshape(-1))\n", - "\n", - " print('Processing audio file', ain)\n", - " c = AutoVC_mel_Convertor('examples')\n", - "\n", - " au_data_i = c.convert_single_wav_to_autovc_input(audio_filename=os.path.join('examples', ain),\n", - " autovc_model_path=opt_parser.load_AUTOVC_name)\n", - " au_data += au_data_i\n", - "if(os.path.isfile('examples/tmp.wav')):\n", - " os.remove('examples/tmp.wav')\n", - "\n", - "# landmark fake placeholder\n", - "fl_data = []\n", - "rot_tran, rot_quat, anchor_t_shape = [], [], []\n", - "for au, info in au_data:\n", - " au_length = au.shape[0]\n", - " fl = np.zeros(shape=(au_length, 68 * 3))\n", - " fl_data.append((fl, info))\n", - " rot_tran.append(np.zeros(shape=(au_length, 3, 4)))\n", - " rot_quat.append(np.zeros(shape=(au_length, 4)))\n", - " anchor_t_shape.append(np.zeros(shape=(au_length, 68 * 3)))\n", - "\n", - "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_fl.pickle'))):\n", - " os.remove(os.path.join('examples', 'dump', 'random_val_fl.pickle'))\n", - "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_fl_interp.pickle'))):\n", - " os.remove(os.path.join('examples', 'dump', 'random_val_fl_interp.pickle'))\n", - "if(os.path.exists(os.path.join('examples', 'dump', 'random_val_au.pickle'))):\n", - " os.remove(os.path.join('examples', 'dump', 'random_val_au.pickle'))\n", - "if (os.path.exists(os.path.join('examples', 'dump', 'random_val_gaze.pickle'))):\n", - " os.remove(os.path.join('examples', 'dump', 'random_val_gaze.pickle'))\n", - "\n", - "with open(os.path.join('examples', 'dump', 'random_val_fl.pickle'), 'wb') as fp:\n", - " pickle.dump(fl_data, fp)\n", - "with open(os.path.join('examples', 'dump', 'random_val_au.pickle'), 'wb') as fp:\n", - " pickle.dump(au_data, fp)\n", - "with open(os.path.join('examples', 'dump', 'random_val_gaze.pickle'), 'wb') as fp:\n", - " gaze = {'rot_trans':rot_tran, 'rot_quat':rot_quat, 'anchor_t_shape':anchor_t_shape}\n", - " pickle.dump(gaze, fp)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Loaded the voice encoder model on cuda in 0.01 seconds.\n", - "Processing audio file M6_04_16k.wav\n", - "0 out of 0 are in this portion\n", - "Loaded the voice encoder model on cuda in 0.01 seconds.\n", - "source shape: torch.Size([1, 320, 80]) torch.Size([1, 256]) torch.Size([1, 256]) torch.Size([1, 320, 257])\n", - "converted shape: torch.Size([1, 320, 80]) torch.Size([1, 640])\n" - ], - "name": "stdout" - } - ] - }, + "output_type": "stream", + "text": [ + "Loaded the voice encoder model on cuda in 0.01 seconds.\n", + "Processing audio file M6_04_16k.wav\n", + "0 out of 0 are in this portion\n", + "Loaded the voice encoder model on cuda in 0.01 seconds.\n", + "source shape: torch.Size([1, 320, 80]) torch.Size([1, 256]) torch.Size([1, 256]) torch.Size([1, 320, 257])\n", + "converted shape: torch.Size([1, 320, 80]) torch.Size([1, 640])\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "vNzY0KtMhkkV" + }, + "source": [ + "## Step 4: Audio-to-Landmarks prediction" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "WP94GnGchXy8", + "outputId": "10c1dc3d-4f60-4f13-f9ba-8e03b8cca18f", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "!pwd\n", + "model = Audio2landmark_model(opt_parser, jpg_shape=shape_3d)\n", + "if(len(opt_parser.reuse_train_emb_list) == 0):\n", + " model.test(au_emb=au_emb)\n", + "else:\n", + " model.test(au_emb=None)" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "vNzY0KtMhkkV" - }, - "source": [ - "## Step 4: Audio-to-Landmarks prediction" - ] + "output_type": "stream", + "text": [ + "/content/MakeItTalk\n", + "Run on device: cuda\n", + "Loading Data random_val\n", + "EVAL num videos: 1\n", + "G: Running on cuda, total num params = 3.00M\n", + "======== LOAD PRETRAINED FACE ID MODEL examples/ckpt/ckpt_speaker_branch.pth =========\n", + "======== LOAD PRETRAINED FACE ID MODEL examples/ckpt/ckpt_content_branch.pth =========\n", + "====================================\n", + "48uYS3bHIA8\n", + "YAZuSHvwVC0\n", + "0yaLdVk_UyQ\n", + "E_kmpT-EfOg\n", + "fQR31F7L3ww\n", + "JPMZAOGGHh8\n", + "W6uRNCJmdtI\n", + "2KL8PfQPmBg\n", + "p575B7k07a8\n", + "iUoAe2gXKE4\n", + "HH-iOC056aQ\n", + "S8fiWqrZEew\n", + "ROWN2ssXek8\n", + "irx71tYyI-Q\n", + "me6cdZCM2FY\n", + "OkqHtWOFliM\n", + "OfPKHc6w2vw\n", + "1lh57VnuaKE\n", + "_ldiVrXgZKc\n", + "H1Xnb_rtgqY\n", + "45hn7-LXDX8\n", + "bs7ZWVqAGCU\n", + "UElg0R7fmlk\n", + "bCs5SoifsiY\n", + "1Lx_ZqrK1bM\n", + "RrnL6Pcjjbw\n", + "sRbWv2R2hxE\n", + "wJmdE0G4sEg\n", + "hE-4e1vEiT8\n", + "XXbxe3fCQqg\n", + "02HOKnTjBlQ\n", + "wAAMEC1OsRc\n", + "7Sk--XzX8b0\n", + "I5Lm0Qce5kg\n", + "qLxfiUMYgQg\n", + "_VpqWkdcaqM\n", + "ljIkW4uVVQY\n", + "5m5iPZNJS6c\n", + "J-NPsvtQ8lE\n", + "gOrQyrbptGo\n", + "43BiUVlNy58\n", + "swLghyvhoqA\n", + "X3FCAoFnmdA\n", + "2NiCRAmwoc4\n", + "KVUf0J2LAaA\n", + "YtZS9hH1j24\n", + "5fZj9Fzi5K0\n", + "wbWKG26ebMw\n", + "QgNlXur0wrs\n", + "qek_5m1MRik\n", + "rmFsUV5ICKk\n", + "bEdGv1wixF4\n", + "ljh5PB6Utsc\n", + "izudwWTXuUk\n", + "B08yOvYMF7Y\n", + "UEmI4r5G-5Y\n", + "Scujgl9GbHA\n", + "sxCbrYjBsGA\n", + "qvQC0w3y_Fo\n", + "bXpavyiCu10\n", + "iWeklsXc0H8\n", + "H00oAfd_GsM\n", + "Z7WRt--g-h4\n", + "29k8RtSUjE0\n", + "E0zgrhQ0QDw\n", + "9KhvSxKE6Mc\n", + "qLNvRwMkhik\n", + "====================================\n" + ], + "name": "stdout" }, { - "cell_type": "code", - "metadata": { - "id": "WP94GnGchXy8", - "outputId": "10c1dc3d-4f60-4f13-f9ba-8e03b8cca18f", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "!pwd\n", - "model = Audio2landmark_model(opt_parser, jpg_shape=shape_3d)\n", - "if(len(opt_parser.reuse_train_emb_list) == 0):\n", - " model.test(au_emb=au_emb)\n", - "else:\n", - " model.test(au_emb=None)" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "/content/MakeItTalk\n", - "Run on device: cuda\n", - "Loading Data random_val\n", - "EVAL num videos: 1\n", - "G: Running on cuda, total num params = 3.00M\n", - "======== LOAD PRETRAINED FACE ID MODEL examples/ckpt/ckpt_speaker_branch.pth =========\n", - "======== LOAD PRETRAINED FACE ID MODEL examples/ckpt/ckpt_content_branch.pth =========\n", - "====================================\n", - "48uYS3bHIA8\n", - "YAZuSHvwVC0\n", - "0yaLdVk_UyQ\n", - "E_kmpT-EfOg\n", - "fQR31F7L3ww\n", - "JPMZAOGGHh8\n", - "W6uRNCJmdtI\n", - "2KL8PfQPmBg\n", - "p575B7k07a8\n", - "iUoAe2gXKE4\n", - "HH-iOC056aQ\n", - "S8fiWqrZEew\n", - "ROWN2ssXek8\n", - "irx71tYyI-Q\n", - "me6cdZCM2FY\n", - "OkqHtWOFliM\n", - "OfPKHc6w2vw\n", - "1lh57VnuaKE\n", - "_ldiVrXgZKc\n", - "H1Xnb_rtgqY\n", - "45hn7-LXDX8\n", - "bs7ZWVqAGCU\n", - "UElg0R7fmlk\n", - "bCs5SoifsiY\n", - "1Lx_ZqrK1bM\n", - "RrnL6Pcjjbw\n", - "sRbWv2R2hxE\n", - "wJmdE0G4sEg\n", - "hE-4e1vEiT8\n", - "XXbxe3fCQqg\n", - "02HOKnTjBlQ\n", - "wAAMEC1OsRc\n", - "7Sk--XzX8b0\n", - "I5Lm0Qce5kg\n", - "qLxfiUMYgQg\n", - "_VpqWkdcaqM\n", - "ljIkW4uVVQY\n", - "5m5iPZNJS6c\n", - "J-NPsvtQ8lE\n", - "gOrQyrbptGo\n", - "43BiUVlNy58\n", - "swLghyvhoqA\n", - "X3FCAoFnmdA\n", - "2NiCRAmwoc4\n", - "KVUf0J2LAaA\n", - "YtZS9hH1j24\n", - "5fZj9Fzi5K0\n", - "wbWKG26ebMw\n", - "QgNlXur0wrs\n", - "qek_5m1MRik\n", - "rmFsUV5ICKk\n", - "bEdGv1wixF4\n", - "ljh5PB6Utsc\n", - "izudwWTXuUk\n", - "B08yOvYMF7Y\n", - "UEmI4r5G-5Y\n", - "Scujgl9GbHA\n", - "sxCbrYjBsGA\n", - "qvQC0w3y_Fo\n", - "bXpavyiCu10\n", - "iWeklsXc0H8\n", - "H00oAfd_GsM\n", - "Z7WRt--g-h4\n", - "29k8RtSUjE0\n", - "E0zgrhQ0QDw\n", - "9KhvSxKE6Mc\n", - "qLNvRwMkhik\n", - "====================================\n" - ], - "name": "stdout" - }, - { - "output_type": "stream", - "text": [ - "/content/MakeItTalk/src/approaches/train_audio2landmark.py:98: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n", - " z = torch.tensor(torch.zeros(aus.shape[0], 128), requires_grad=False, dtype=torch.float).to(device)\n" - ], - "name": "stderr" - }, - { - "output_type": "stream", - "text": [ - "examples/M6_04_16k.wav\n" - ], - "name": "stdout" - } - ] + "output_type": "stream", + "text": [ + "/content/MakeItTalk/src/approaches/train_audio2landmark.py:98: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).\n", + " z = torch.tensor(torch.zeros(aus.shape[0], 128), requires_grad=False, dtype=torch.float).to(device)\n" + ], + "name": "stderr" }, { - "cell_type": "markdown", - "metadata": { - "id": "PFaYlUNNjnxn" - }, - "source": [ - "## Step 5: Natural face animation via Image-to-image translation" - ] - }, + "output_type": "stream", + "text": [ + "examples/M6_04_16k.wav\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "PFaYlUNNjnxn" + }, + "source": [ + "## Step 5: Natural face animation via Image-to-image translation" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-xYBO_czjFSD", + "outputId": "1810cbba-4876-4ecd-d6ef-c55cd95a6e1b", + "colab": { + "base_uri": "https://localhost:8080/" + } + }, + "source": [ + "fls = glob.glob1('examples', 'pred_fls_*.txt')\n", + "fls.sort()\n", + "\n", + "for i in range(0,len(fls)):\n", + " fl = np.loadtxt(os.path.join('examples', fls[i])).reshape((-1, 68,3))\n", + " fl[:, :, 0:2] = -fl[:, :, 0:2]\n", + " fl[:, :, 0:2] = fl[:, :, 0:2] / scale - shift\n", + "\n", + " if (ADD_NAIVE_EYE):\n", + " fl = util.add_naive_eye(fl)\n", + "\n", + " # additional smooth\n", + " fl = fl.reshape((-1, 204))\n", + " fl[:, :48 * 3] = savgol_filter(fl[:, :48 * 3], 15, 3, axis=0)\n", + " fl[:, 48*3:] = savgol_filter(fl[:, 48*3:], 5, 3, axis=0)\n", + " fl = fl.reshape((-1, 68, 3))\n", + "\n", + " ''' STEP 6: Imag2image translation '''\n", + " model = Image_translation_block(opt_parser, single_test=True)\n", + " with torch.no_grad():\n", + " model.single_test(jpg=img, fls=fl, filename=fls[i], prefix=opt_parser.jpg.split('.')[0])\n", + " print('finish image2image gen')\n", + " os.remove(os.path.join('examples', fls[i]))" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "code", - "metadata": { - "id": "-xYBO_czjFSD", - "outputId": "1810cbba-4876-4ecd-d6ef-c55cd95a6e1b", - "colab": { - "base_uri": "https://localhost:8080/" - } - }, - "source": [ - "fls = glob.glob1('examples', 'pred_fls_*.txt')\n", - "fls.sort()\n", - "\n", - "for i in range(0,len(fls)):\n", - " fl = np.loadtxt(os.path.join('examples', fls[i])).reshape((-1, 68,3))\n", - " fl[:, :, 0:2] = -fl[:, :, 0:2]\n", - " fl[:, :, 0:2] = fl[:, :, 0:2] / scale - shift\n", - "\n", - " if (ADD_NAIVE_EYE):\n", - " fl = util.add_naive_eye(fl)\n", - "\n", - " # additional smooth\n", - " fl = fl.reshape((-1, 204))\n", - " fl[:, :48 * 3] = savgol_filter(fl[:, :48 * 3], 15, 3, axis=0)\n", - " fl[:, 48*3:] = savgol_filter(fl[:, 48*3:], 5, 3, axis=0)\n", - " fl = fl.reshape((-1, 68, 3))\n", - "\n", - " ''' STEP 6: Imag2image translation '''\n", - " model = Image_translation_block(opt_parser, single_test=True)\n", - " with torch.no_grad():\n", - " model.single_test(jpg=img, fls=fl, filename=fls[i], prefix=opt_parser.jpg.split('.')[0])\n", - " print('finish image2image gen')\n", - " os.remove(os.path.join('examples', fls[i]))" - ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Run on device cuda\n", - "Time - only video: 7.921006441116333\n", - "Time - ffmpeg add audio: 9.965285062789917\n", - "finish image2image gen\n" - ], - "name": "stdout" - } - ] - }, + "output_type": "stream", + "text": [ + "Run on device cuda\n", + "Time - only video: 7.921006441116333\n", + "Time - ffmpeg add audio: 9.965285062789917\n", + "finish image2image gen\n" + ], + "name": "stdout" + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "P8mMguI_j1TQ" + }, + "source": [ + "## Visualize your animation!" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "Xmnr2CsChmnB", + "outputId": "c7decb3d-102e-484c-9b25-56961d17df3b", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 238 + } + }, + "source": [ + "from IPython.display import HTML\n", + "from base64 import b64encode\n", + "\n", + "for ain in ains:\n", + " OUTPUT_MP4_NAME = '{}_pred_fls_{}_audio_embed.mp4'.format(\n", + " opt_parser.jpg.split('.')[0],\n", + " ain.split('.')[0]\n", + " )\n", + " mp4 = open('examples/{}'.format(OUTPUT_MP4_NAME),'rb').read()\n", + " data_url = \"data:video/mp4;base64,\" + b64encode(mp4).decode()\n", + "\n", + " print('Display animation: examples/{}'.format(OUTPUT_MP4_NAME))\n", + " display(HTML(\"\"\"\n", + " \n", + " \"\"\" % data_url))" + ], + "execution_count": null, + "outputs": [ { - "cell_type": "markdown", - "metadata": { - "id": "P8mMguI_j1TQ" - }, - "source": [ - "## Visualize your animation!" - ] + "output_type": "stream", + "text": [ + "Display animation: examples/paint_boy_pred_fls_M6_04_16k_audio_embed.mp4\n" + ], + "name": "stdout" }, { - "cell_type": "code", - "metadata": { - "id": "Xmnr2CsChmnB", - "outputId": "c7decb3d-102e-484c-9b25-56961d17df3b", - "colab": { - "base_uri": "https://localhost:8080/", - "height": 238 - } - }, - "source": [ - "from IPython.display import HTML\n", - "from base64 import b64encode\n", - "\n", - "for ain in ains:\n", - " OUTPUT_MP4_NAME = '{}_pred_fls_{}_audio_embed.mp4'.format(\n", - " opt_parser.jpg.split('.')[0],\n", - " ain.split('.')[0]\n", - " )\n", - " mp4 = open('examples/{}'.format(OUTPUT_MP4_NAME),'rb').read()\n", - " data_url = \"data:video/mp4;base64,\" + b64encode(mp4).decode()\n", - "\n", - " print('Display animation: examples/{}'.format(OUTPUT_MP4_NAME))\n", - " display(HTML(\"\"\"\n", - " \n", - " \"\"\" % data_url))" + "output_type": "display_data", + "data": { + "text/html": [ + "\n", + " \n", + " " ], - "execution_count": null, - "outputs": [ - { - "output_type": "stream", - "text": [ - "Display animation: examples/paint_boy_pred_fls_M6_04_16k_audio_embed.mp4\n" - ], - "name": "stdout" - }, - { - "output_type": "display_data", - "data": { - "text/html": [ - "\n", - " \n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": { - "tags": [] - } - } + "text/plain": [ + "" ] - }, - { - "cell_type": "code", - "metadata": { - "id": "hxWMuEEbpywq" - }, - "source": [], - "execution_count": null, - "outputs": [] + }, + "metadata": { + "tags": [] + } } - ] + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "hxWMuEEbpywq" + }, + "source": [], + "execution_count": null, + "outputs": [] + } + ] } \ No newline at end of file diff --git a/tools/normalize.py b/tools/normalize.py index 7d87c5e154aca..164985d5e7873 100755 --- a/tools/normalize.py +++ b/tools/normalize.py @@ -10,11 +10,15 @@ print 'usage: %s [encode_options] ' % sys.argv[0] sys.exit(1) -analysis_cmd = 'ffprobe -v error -of compact=p=0:nk=1 ' -analysis_cmd += '-show_entries frame_tags=lavfi.r128.I -f lavfi ' -analysis_cmd += "amovie='%s',ebur128=metadata=1" % ifile +analysis_cmd = [ + 'ffprobe', '-v', 'error', + '-of', 'compact=p=0:nk=1', + '-show_entries', 'frame_tags=lavfi.r128.I', + '-f', 'lavfi', + "amovie='%s',ebur128=metadata=1" % ifile, +] try: - probe_out = subprocess.check_output(analysis_cmd, shell=True) + probe_out = subprocess.check_output(analysis_cmd) except subprocess.CalledProcessError, e: sys.exit(e.returncode) loudness = ref = -23