TORCH_VERSION=2.0.1 CUDA_VERSION=11.7 CUDNN_VERSION=8 ARGS=`getopt -o t:c: -l torch:,cuda:,cudnn: -n "$0" -- "$@"` [ $? != 0 ] && exit 1 eval set -- "${ARGS}" while true ; do case "$1" in -t | --torch) TORCH_VERSION=$2 shift 2 ;; -c | --cuda) CUDA_VERSION=$2 shift 2 ;; --cudnn) CUDNN_VERSION=$2 shift 2 ;; --) break ;; *) echo "Invalid option: $1" exit 1 ;; esac done CUDA_VERSION_NO_DOT=`echo ${CUDA_VERSION} | tr -d "."` BASE_TORCH_TAG=${TORCH_VERSION}-cuda${CUDA_VERSION}-cudnn${CUDNN_VERSION}-devel IMG_TAG=pointcept/pointcept:pytorch${BASE_TORCH_TAG} echo "TORCH VERSION: ${TORCH_VERSION}" echo "CUDA VERSION: ${CUDA_VERSION}" echo "CUDNN VERSION: ${CUDNN_VERSION}" cat > ./Dockerfile <<- EOM FROM pytorch/pytorch:${BASE_TORCH_TAG} # Fix nvidia-key error issue (NO_PUBKEY A4B469963BF863CC) RUN rm /etc/apt/sources.list.d/*.list # Installing apt packages RUN export DEBIAN_FRONTEND=noninteractive \ && apt -y update --no-install-recommends \ && apt -y install --no-install-recommends \ git wget tmux vim zsh build-essential cmake ninja-build libopenblas-dev libsparsehash-dev \ && apt autoremove -y \ && apt clean -y \ && export DEBIAN_FRONTEND=dialog # Install Pointcept environment RUN conda install h5py pyyaml -c anaconda -y RUN conda install sharedarray tensorboard tensorboardx yapf addict einops scipy plyfile termcolor timm -c conda-forge -y RUN conda install pytorch-cluster pytorch-scatter pytorch-sparse -c pyg -y RUN pip install --upgrade pip RUN pip install torch-geometric RUN pip install spconv-cu${CUDA_VERSION_NO_DOT} RUN pip install open3d # Build MinkowskiEngine RUN git clone https://github.com/NVIDIA/MinkowskiEngine.git WORKDIR /workspace/MinkowskiEngine RUN TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0+PTX 8.0" python setup.py install --blas=openblas --force_cuda WORKDIR /workspace # Build pointops RUN git clone https://github.com/Pointcept/Pointcept.git RUN TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0+PTX 8.0" pip install Pointcept/libs/pointops -v # Build pointgroup_ops RUN TORCH_CUDA_ARCH_LIST="5.2 6.0 6.1 7.0+PTX 8.0" pip install Pointcept/libs/pointgroup_ops -v # Build swin3d RUN TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX 8.0" pip install -U git+https://github.com/microsoft/Swin3D.git -v EOM docker build . -f ./Dockerfile -t $IMG_TAG