| TORCH_VERSION=2.5.0 |
| CUDA_VERSION=12.4 |
| CUDNN_VERSION=9 |
|
|
| 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:v1.6.0-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 tensorboard tensorboardx wandb yapf addict einops scipy plyfile termcolor matplotlib black open3d -c conda-forge -y |
| |
| RUN pip install --upgrade pip |
| RUN pip install timm |
| RUN pip install torch-geometric |
| RUN pip install torch_scatter torch_sparse torch_cluster -f https://data.pyg.org/whl/torch-${TORCH_VERSION}+cu${CUDA_VERSION_NO_DOT}.html |
| RUN pip install spconv-cu${CUDA_VERSION_NO_DOT} |
| RUN pip install git+https://github.com/octree-nn/ocnn-pytorch.git |
| RUN pip install ftfy regex tqdm |
| RUN pip install git+https://github.com/openai/CLIP.git |
| |
| # Build swin3d |
| RUN TORCH_CUDA_ARCH_LIST="8.0 8.6 8.9 9.0" pip install -U git+https://github.com/microsoft/Swin3D.git -v |
| |
| # Build FlashAttention2 |
| RUN TORCH_CUDA_ARCH_LIST="8.0 8.6 8.9 9.0" pip install git+https://github.com/Dao-AILab/flash-attention.git |
| |
| # Build pointops |
| RUN git clone https://github.com/Pointcept/Pointcept.git |
| RUN TORCH_CUDA_ARCH_LIST="8.0 8.6 8.9 9.0" pip install Pointcept/libs/pointops -v |
| |
| # Build pointgroup_ops |
| RUN TORCH_CUDA_ARCH_LIST="8.0 8.6 8.9 9.0" pip install Pointcept/libs/pointgroup_ops -v |
| |
| EOM |
|
|
| docker build . -f ./Dockerfile -t $IMG_TAG |