Apex installation with Cuda 10.2 in Docker image
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 9k
- Forks
- 1.5k
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 3
Description
Hi I'm struggling to install apex. Here is my dockerfile:
FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04
RUN apt-get update -qq && apt-get install -y -q \
build-essential \
pkg-config \
software-properties-common \
curl \
git \
unzip \
zlib1g-dev \
locales \
&& apt-get clean -qq && rm -rf /var/lib/apt/lists/*
RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
#ENV PYTHONPATH="${PYTHONPATH}:/src:/mnt/project"
ENV PATH=/opt/conda/bin:$PATH
ENV PYTHONVERSION=3.6.9
# conda needs an untainted base environment to function properly
# that's why a new separate conda environment is created
RUN curl "https://repo.anaconda.com/miniconda/Miniconda3-4.7.12.1-Linux-x86_64.sh" --output ~/miniconda.sh && \
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
rm -rf ~/.cache ~/miniconda.sh
# split the conda installations because the dev boxes have limited memory
RUN /opt/conda/bin/conda create -n env -c conda-forge python=$PYTHONVERSION pip && \
/opt/conda/bin/conda clean -a && \
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
echo ". /opt/conda/etc/profile.d/conda.sh" > ~/.env && \
echo "conda activate env" >> ~/.env && \
echo "source ~/.env" >> ~/.bashrc
ENV BASH_ENV=~/.env
SHELL ["/bin/bash", "-c"]
ENV CUDA cu102
#RUN pip install torch torchvision
RUN conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
# Apex layer (apex allows for 16-bit training => x3-4 speedup)
RUN git clone https://github.com/NVIDIA/apex \
&& cd apex \
&& pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./ \
&& cd ..
CMD ["/bin/bash"]
The error is the same whether using pip or conda install:
RuntimeError: Cuda extensions are being compiled with a version of Cuda that does not match the version used to compile Pytorch binaries. Pytorch binaries were compiled with Cuda 10.2.
In some cases, a minor-version mismatch will not cause later errors: https://github.com/NVIDIA/apex/pull/323#discussion_r287021798. You can try commenting out this check (at your own risk).
Anyone know a solution to this?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The Dockerfile and Apex installation command are the reproduction entry point; start by comparing the CUDA versions in the base image and installed PyTorch reported by the error. Reproduce the install failure, then document a working compatible installation path or a clear limitation, with the error no longer occurring.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python, pytorch
- Domain
- devops, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100