Spaces:
Configuration error
Configuration error
FROM nvidia/cuda:11.1.1-cudnn8-devel-ubuntu18.04 | |
# For the convenience for users in China mainland | |
COPY docker/apt-sources.list /etc/apt/sources.list | |
# Install some basic utilities | |
RUN rm /etc/apt/sources.list.d/nvidia-ml.list \ | |
&& rm /etc/apt/sources.list.d/cuda.list \ | |
&& apt-get update && apt-get install -y \ | |
curl \ | |
ca-certificates \ | |
sudo \ | |
git \ | |
bzip2 \ | |
libx11-6 \ | |
gcc \ | |
g++ \ | |
libusb-1.0-0 \ | |
cmake \ | |
libssl-dev \ | |
&& DEBIAN_FRONTEND=noninteractive apt-get install -y python3-opencv \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Create a working directory | |
RUN mkdir /app | |
WORKDIR /app | |
# Create a non-root user and switch to it | |
RUN adduser --disabled-password --gecos '' --shell /bin/bash user \ | |
&& chown -R user:user /app | |
RUN echo "user ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-user | |
USER user | |
# All users can use /home/user as their home directory | |
ENV HOME=/home/user | |
RUN chmod 777 /home/user | |
# Install Miniconda and Python 3.8 | |
ENV CONDA_AUTO_UPDATE_CONDA=false | |
ENV PATH=/home/user/miniconda/bin:$PATH | |
RUN curl -sLo ~/miniconda.sh https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh \ | |
&& chmod +x ~/miniconda.sh \ | |
&& ~/miniconda.sh -b -p ~/miniconda \ | |
&& rm ~/miniconda.sh \ | |
&& conda install -y python==3.8.3 \ | |
&& conda clean -ya | |
COPY --chown=user docker/.condarc /home/user/.condarc | |
# CUDA 11.1-specific steps | |
RUN conda install -y -c conda-forge cudatoolkit=11.1.1 \ | |
&& conda install -y -c pytorch \ | |
"pytorch=1.8.1=py3.8_cuda11.1_cudnn8.0.5_0" \ | |
"torchvision=0.9.1=py38_cu111" \ | |
&& conda clean -ya | |
# Alter sources for the convenience of users located in China mainland. | |
RUN pip config set global.index-url https://pypi.douban.com/simple | |
COPY requirements.txt requirements.txt | |
RUN pip install -r requirements.txt | |
ENV CUDA_HOME=/usr/local/cuda | |
RUN bash -c "git clone --recursive https://github.com/traveller59/spconv.git" | |
# We manually download and install cmake since the requirements of spconv is newer than | |
# that included in apt for ubuntu18. | |
RUN curl -sLo cmake.tar.gz https://github.com/Kitware/CMake/releases/download/v3.20.1/cmake-3.20.1.tar.gz \ | |
&& tar -xvf cmake.tar.gz \ | |
&& cd cmake-3.20.1 \ | |
&& ./configure \ | |
&& make -j4 && sudo make install | |
RUN sudo apt-get update && sudo apt-get install -y libboost-dev \ | |
&& sudo rm -rf /var/lib/apt/lists/* | |
COPY docker/spconv.sh spconv.sh | |
RUN bash spconv.sh | |
CMD ["python3"] | |