diff --git a/docker/conda-gpu.dockerfile b/docker/conda-gpu.dockerfile index 5bcf3c6..9328b25 100644 --- a/docker/conda-gpu.dockerfile +++ b/docker/conda-gpu.dockerfile @@ -1,4 +1,4 @@ -FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04 +FROM nvidia/cuda:9.0-cudnn7-runtime-ubuntu16.04 RUN apt-get update --fix-missing \ && apt-get install -y wget bzip2 ca-certificates curl git \ @@ -13,8 +13,7 @@ RUN apt-get update --fix-missing \ && echo "conda activate base" >> ~/.bashrc \ && ln -s /opt/conda/bin/conda /usr/bin/conda -RUN conda install -y cudatoolkit=9.0 \ - && conda install -y tensorflow-gpu==1.14.0 \ +RUN conda install -y tensorflow-gpu==1.14.0 \ && conda install -y -c conda-forge musdb # RUN conda install -y -c conda-forge museval # Note: switch to spleeter GPU once published. diff --git a/docker/python-3.6-gpu.dockerfile b/docker/python-3.6-gpu.dockerfile index e66f378..cc11769 100644 --- a/docker/python-3.6-gpu.dockerfile +++ b/docker/python-3.6-gpu.dockerfile @@ -1,36 +1,50 @@ FROM python:3.6 -# Cuda installation. -# Note : original cuda base file from https://gitlab.com/nvidia/container-images/cuda/blob/master/dist/ubuntu18.04/10.1/base/Dockerfile -RUN apt-get update \ - && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates \ - && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - \ - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list \ - && echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list \ +# FROM 9.2-base-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/base/Dockerfile +RUN apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates \ + && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64/7fa2af80.pub | apt-key add - \ + && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64 /" > /etc/apt/sources.list.d/cuda.list \ + && echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list \ && apt-get purge --autoremove -y curl \ && rm -rf /var/lib/apt/lists/* - -ENV CUDA_VERSION 10.1.243 -ENV CUDA_PKG_VERSION 10-1=$CUDA_VERSION-1 - -# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a +ENV CUDA_VERSION 9.2.148 +ENV CUDA_PKG_VERSION 9-2=$CUDA_VERSION-1 RUN apt-get update \ - && apt-get install -y --no-install-recommends cuda-cudart-$CUDA_PKG_VERSION \ - && cuda-compat-10-1 \ - && ln -s cuda-10.1 /usr/local/cuda \ + && apt-get install -y --no-install-recommends \ + cuda-cudart-$CUDA_PKG_VERSION \ + && ln -s cuda-9.2 /usr/local/cuda \ && rm -rf /var/lib/apt/lists/* - -# Required for nvidia-docker v1 +LABEL com.nvidia.volumes.needed="nvidia_driver" +LABEL com.nvidia.cuda.version="${CUDA_VERSION}" RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf \ && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf - ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 - -# nvidia-container-runtime ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility -ENV NVIDIA_REQUIRE_CUDA "cuda>=10.1 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411" +ENV NVIDIA_REQUIRE_CUDA "cuda>=9.2" + +# FROM 9.2-runtime-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/runtime/Dockerfile +ENV NCCL_VERSION 2.3.7 +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + cuda-libraries-$CUDA_PKG_VERSION \ + cuda-nvtx-$CUDA_PKG_VERSION \ + libnccl2=$NCCL_VERSION-1+cuda9.2 \ + && apt-mark hold libnccl2 \ + && rm -rf /var/lib/apt/lists/* + +# FROM 9.2-runtime-cudnn7-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/runtime/cudnn7/Dockerfile +ENV CUDNN_VERSION 7.5.0.56 +LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}" +RUN apt-get update \ + && apt-get install -y --no-install-recommends libcudnn7=$CUDNN_VERSION-1+cuda9.2 \ + && apt-mark hold libcudnn7 \ + && rm -rf /var/lib/apt/lists/* + # Spleeter installation. RUN apt-get update && apt-get install -y ffmpeg libsndfile1 diff --git a/docker/python-3.7-gpu.dockerfile b/docker/python-3.7-gpu.dockerfile index 30150ad..35d7ec7 100644 --- a/docker/python-3.7-gpu.dockerfile +++ b/docker/python-3.7-gpu.dockerfile @@ -1,36 +1,49 @@ FROM python:3.7 -# Cuda installation. -# Note : original cuda base file from https://gitlab.com/nvidia/container-images/cuda/blob/master/dist/ubuntu18.04/10.1/base/Dockerfile -RUN apt-get update \ - && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates \ - && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub | apt-key add - \ - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list \ - && echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list \ +# FROM 9.2-base-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/base/Dockerfile +RUN apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates \ + && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64/7fa2af80.pub | apt-key add - \ + && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1710/x86_64 /" > /etc/apt/sources.list.d/cuda.list \ + && echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64 /" > /etc/apt/sources.list.d/nvidia-ml.list \ && apt-get purge --autoremove -y curl \ && rm -rf /var/lib/apt/lists/* - -ENV CUDA_VERSION 10.1.243 -ENV CUDA_PKG_VERSION 10-1=$CUDA_VERSION-1 - -# For libraries in the cuda-compat-* package: https://docs.nvidia.com/cuda/eula/index.html#attachment-a +ENV CUDA_VERSION 9.2.148 +ENV CUDA_PKG_VERSION 9-2=$CUDA_VERSION-1 RUN apt-get update \ - && apt-get install -y --no-install-recommends cuda-cudart-$CUDA_PKG_VERSION \ - && cuda-compat-10-1 \ - && ln -s cuda-10.1 /usr/local/cuda \ + && apt-get install -y --no-install-recommends \ + cuda-cudart-$CUDA_PKG_VERSION \ + && ln -s cuda-9.2 /usr/local/cuda \ && rm -rf /var/lib/apt/lists/* - -# Required for nvidia-docker v1 +LABEL com.nvidia.volumes.needed="nvidia_driver" +LABEL com.nvidia.cuda.version="${CUDA_VERSION}" RUN echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf \ && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf - ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 - -# nvidia-container-runtime ENV NVIDIA_VISIBLE_DEVICES all ENV NVIDIA_DRIVER_CAPABILITIES compute,utility -ENV NVIDIA_REQUIRE_CUDA "cuda>=10.1 brand=tesla,driver>=384,driver<385 brand=tesla,driver>=396,driver<397 brand=tesla,driver>=410,driver<411" +ENV NVIDIA_REQUIRE_CUDA "cuda>=9.2" + +# FROM 9.2-runtime-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/runtime/Dockerfile +ENV NCCL_VERSION 2.3.7 +RUN apt-get update \ + && apt-get install -y --no-install-recommends \ + cuda-libraries-$CUDA_PKG_VERSION \ + cuda-nvtx-$CUDA_PKG_VERSION \ + libnccl2=$NCCL_VERSION-1+cuda9.2 \ + && apt-mark hold libnccl2 \ + && rm -rf /var/lib/apt/lists/* + +# FROM 9.2-runtime-cudnn7-ubuntu18.04 +# https://gitlab.com/nvidia/container-images/cuda/blob/ubuntu18.04/9.2/runtime/cudnn7/Dockerfile +ENV CUDNN_VERSION 7.5.0.56 +LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}" +RUN apt-get update \ + && apt-get install -y --no-install-recommends libcudnn7=$CUDNN_VERSION-1+cuda9.2 \ + && apt-mark hold libcudnn7 \ + && rm -rf /var/lib/apt/lists/* # Spleeter installation. RUN apt-get update && apt-get install -y ffmpeg libsndfile1 diff --git a/spleeter/separator.py b/spleeter/separator.py index 6c46315..c161a8d 100644 --- a/spleeter/separator.py +++ b/spleeter/separator.py @@ -94,7 +94,8 @@ class Separator(object): self, audio_descriptor, destination, audio_adapter=get_default_audio_adapter(), offset=0, duration=600., codec='wav', bitrate='128k', - filename_format='{filename}/{instrument}.{codec}', synchronous=True): + filename_format='{filename}/{instrument}.{codec}', + synchronous=True): """ Performs source separation and export result to file using given audio adapter.