feat: add gpu python image

This commit is contained in:
Félix Voituret
2019-11-21 18:15:54 +01:00
parent 61103b25ea
commit f7e97a1515
3 changed files with 119 additions and 2 deletions

View File

@@ -146,6 +146,21 @@ jobs:
- run: docker push researchdeezer/spleeter:3.6-2stems
- run: docker push researchdeezer/spleeter:3.6-4stems
- run: docker push researchdeezer/spleeter:3.6-5stems
docker-3.6-gpu:
docker:
- image: docker:17.05.0-ce-git
steps:
- checkout
- setup_remote_docker
- run: docker build -t researchdeezer/spleeter:3.6-gpu -f docker/python-3.6-gpu.dockerfile .
- run: docker build --build-arg BASETAG=3.6-gpu --build-arg MODEL=2stems -t researchdeezer/spleeter:3.6-gpu-2stems -f docker/embedded-model.dockerfile .
- run: docker build --build-arg BASETAG=3.6-gpu --build-arg MODEL=4stems -t researchdeezer/spleeter:3.6-gpu-4stems -f docker/embedded-model.dockerfile .
- run: docker build --build-arg BASETAG=3.6-gpu --build-arg MODEL=5stems -t researchdeezer/spleeter:3.6-gpu-5stems -f docker/embedded-model.dockerfile .
- run: docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
- run: docker push researchdeezer/spleeter:3.6-gpu
- run: docker push researchdeezer/spleeter:3.6-gpu-2stems
- run: docker push researchdeezer/spleeter:3.6-gpu-4stems
- run: docker push researchdeezer/spleeter:3.6-gpu-5stems
docker-3.7-cpu:
docker:
- image: docker:17.05.0-ce-git
@@ -167,6 +182,21 @@ jobs:
- run: docker push researchdeezer/spleeter:3.7-2stems
- run: docker push researchdeezer/spleeter:3.7-4stems
- run: docker push researchdeezer/spleeter:3.7-5stems
docker-3.7-gpu:
docker:
- image: docker:17.05.0-ce-git
steps:
- checkout
- setup_remote_docker
- run: docker build -t researchdeezer/spleeter:3.7-gpu -f docker/python-3.7-gpu.dockerfile .
- run: docker build --build-arg BASETAG=3.7-gpu --build-arg MODEL=2stems -t researchdeezer/spleeter:3.7-gpu-2stems -f docker/embedded-model.dockerfile .
- run: docker build --build-arg BASETAG=3.7-gpu --build-arg MODEL=4stems -t researchdeezer/spleeter:3.7-gpu-4stems -f docker/embedded-model.dockerfile .
- run: docker build --build-arg BASETAG=3.7-gpu --build-arg MODEL=5stems -t researchdeezer/spleeter:3.7-gpu-5stems -f docker/embedded-model.dockerfile .
- run: docker login -u $DOCKERHUB_USERNAME -p $DOCKERHUB_PASSWORD
- run: docker push researchdeezer/spleeter:3.7-gpu
- run: docker push researchdeezer/spleeter:3.7-gpu-2stems
- run: docker push researchdeezer/spleeter:3.7-gpu-4stems
- run: docker push researchdeezer/spleeter:3.7-gpu-5stems
workflows:
version: 2
spleeter-release-pipeline:
@@ -225,9 +255,23 @@ workflows:
branches:
only:
- master
- docker-3.6-gpu:
requires:
- pypi-deploy-gpu
filters:
branches:
only:
- master
- docker-3.7-cpu:
requires:
- pypi-deploy
filters:
branches:
only:
- master
- docker-3.7-gpu:
requires:
- pypi-deploy-gpu
filters:
branches:
only:

View File

@@ -1,6 +1,38 @@
FROM nvidia/cuda:10.1-cudnn7-runtime-ubuntu18.04
FROM python:3.6
# TODO: Install cuda !
# 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 \
&& 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
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 \
&& rm -rf /var/lib/apt/lists/*
# Required for nvidia-docker v1
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"
# Spleeter installation.
RUN apt-get update && apt-get install -y ffmpeg libsndfile1
RUN pip install musdb museval
RUN pip install spleeter-gpu==1.4.4

View File

@@ -0,0 +1,41 @@
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 \
&& 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
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 \
&& rm -rf /var/lib/apt/lists/*
# Required for nvidia-docker v1
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"
# Spleeter installation.
RUN apt-get update && apt-get install -y ffmpeg libsndfile1
RUN pip install musdb museval
RUN pip install spleeter-gpu==1.4.4
RUN mkdir -p /model
ENV MODEL_PATH /model
ENTRYPOINT ["spleeter"]