cleanup legacy TT2 docker image

This commit is contained in:
Brandon Thomas
2023-04-18 15:13:49 -07:00
parent 8cd777b463
commit b784b2a203
+5 -142
View File
@@ -6,8 +6,7 @@
# - multiple python versions (3.6, 3.8)
# THIS IS NOT VERIFIED TO WORK YET (2021-05-30)
#FROM nvidia/cuda:10.1-devel-ubuntu18.04 as pybuild-base
FROM nvidia/cuda:11.3.0-devel-ubuntu20.04 as pybuild-base
FROM nvidia/cuda:11.3.0-devel-ubuntu20.04
# See: https://github.com/opencontainers/image-spec/blob/master/annotations.md
LABEL org.opencontainers.image.title='Storyteller ML'
@@ -67,11 +66,6 @@ RUN apt-get install -y \
netcat \
pciutils \
pkg-config \
python-dev \
python3-pip \
python3.8 \
python3.8-dev \
python3.8-venv\
redis-tools \
silversearcher-ag \
software-properties-common \
@@ -88,126 +82,13 @@ RUN apt-get update
RUN apt-get install -y \
python3.6 \
python3.6-dev \
python3.6-pip \
python3.6-venv
RUN python3.6 --version
RUN python3.8 --version
#FROM ghcr.io/storytold/docker-base-images-nvidia-cuda-experimental:080f96bc7087 as pybuild-base
## Authenticating with GHCR locally:
## https://docs.github.com/en/packages/working-with-a-github-packages-registry/migrating-to-the-container-registry-from-the-docker-registry
## ```
## export CR_PAT=YOUR_TOKEN
## echo $CR_PAT | docker login ghcr.io -u USERNAME --password-stdin
## ```
#
##FROM nvidia/cuda:10.1-devel-ubuntu18.04 as pybuild-base
#FROM nvidia/cuda:11.3.0-devel-ubuntu20.04 as pybuild-base
#
## tzdata install hangs without presetting the time zone
#ENV TZ=UTC
#RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
#
## NB(2021-05-30): This is the image that Tacotron 2's Dockerfile specifies.
## I have not tried this, but it might be necessary.
##FROM pytorch/pytorch:nightly-devel-cuda10.0-cudnn7
##ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH}
#
## NB: https://github.com/NVIDIA/nvidia-docker/issues/864#issuecomment-439848887
## NB: We do not install ffmpeg, since the version is 3.8.* series and we need 4.2.*
##
## NB(2021-05-30): We need to install `cython3` for building modern Tacotron 2
## dependencies (ie. protoc) on old Ubuntu
## RUN apt-get update \
## && apt-get install -y \
#RUN apt-get update
##RUN apt-cache search python3.8
#
## NB: Here we install nvidia drivers
## NB: Avoid keyboard prompt
#RUN DEBIAN_FRONTEND=noninteractive apt-get install -y nvidia-384 --no-install-recommends
#
## ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
##RUN apt-get install -y ffmpeg
##RUN ffmpeg -version
##RUN sleep 100
#
## Notes on packages:
## * software-properties-common - needed for `apt-add-repository`
## * pciutils - needed for `lspci | grep -i nvidia`
#RUN apt-get install -y \
# build-essential \
# curl \
# cython3 \
# ffmpeg \
# g++-7 \
# gcc-7 \
# git \
# htop \
# imagemagick \
# libc++-7-dev \
# libffi-dev \
# libgcc-7-dev \
# libmagic1 \
# libsm6 \
# libsndfile1 \
# libssl-dev \
# libxext6 \
# libxrender-dev \
# netcat \
# pciutils \
# python-dev \
# python3-pip \
# python3.8 \
# python3.8-dev \
# python3.8-venv\
# redis-tools \
# silversearcher-ag \
# software-properties-common \
# sox \
# tmux \
# vim \
# wget
#
#
## Wav2Lip needs Python3.6
## NB: we install python3-virtualenv as `python3.6 -m venv` won't work anymore
#RUN add-apt-repository ppa:deadsnakes/ppa
#RUN apt-get update
#RUN apt-get install -y python3.6
#RUN apt-get install -y python3-virtualenv
#RUN apt-get install -y python3.6-venv
#RUN apt-get install -y python3.6-dev
##RUN apt-get install python3-virtualenv
#
#
#RUN python3.6 --version
#RUN python3.8 --version
# We need ffmpeg version >= 4.2 (https://superuser.com/a/579110)
# http://ubuntuhandbook.org/index.php/2020/06/install-ffmpeg-4-3-via-ppa-ubuntu-18-04-16-04/
#RUN apt-get install -y software-properties-common \
# && add-apt-repository ppa:jonathonf/ffmpeg-4 \
# && apt-get update \
# && apt-get install -y ffmpeg
#
# The downloader needs youtube-dl as a python library
# NB: No longer maintained: https://news.ycombinator.com/item?id=28319624
#RUN pip3 install --upgrade youtube-dl
# Used by the downloader script.
# And it looks like youtube-dl is dead...
# Per the README, it looks like pip will always pull the latest version.
# https://github.com/yt-dlp/yt-dlp#update
RUN python3 -m pip install --upgrade yt-dlp
# ==================== Tacotron, Waveglow, HifiGan, etc. ====================
FROM pybuild-base as pybuild-requirements
WORKDIR /
RUN mkdir -p /models/tts
@@ -218,12 +99,9 @@ WORKDIR models/tts
# NB: Not sure if we need Python3.6 for Tacotron2, but Python3.8 gave me trouble.
# NB: Setuptools fix: https://github.com/tensorflow/tensorflow/issues/34302#issuecomment-554450289
RUN python3.6 -m venv python
RUN . python/bin/activate \
&& pip install --upgrade pip setuptools \
&& pip install -r requirements-tacotron-python36.txt \
&& pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 \
&& deactivate
RUN pip3 install --upgrade pip setuptools \
&& pip3 install -r requirements-tacotron-python36.txt \
&& pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
# Final image
# FROM ubuntu:xenial
@@ -251,25 +129,10 @@ RUN rm $(find /etc/apt | grep cuda)
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
RUN dpkg -i cuda-keyring_1.0-1_all.deb
# NB: Comment this out for non-debug images
# TODO: Figure out how this is done elsewhere with just the static binaries
# Others: `mysql-client`
RUN apt-get update \
&& apt-get install -y \
curl \
python3 \
python3-pip \
wget
# ESpeak for new text pipeline
RUN apt-get install -y libespeak-ng1
RUN python3 --version
#RUN python3.7 -m venv python
#RUN . python/bin/activate \
# && pip install --upgrade pip \
# && pip install -r requirements.txt
# TODO: Use venv to do this instead.
RUN pip3 install gdown