| #!/bin/bash |
|
|
| |
| PROJECT_NAME=spt |
| PYTHON=3.8 |
| TORCH=2.2.0 |
| CUDA_SUPPORTED=(11.8 12.1) |
|
|
|
|
| |
| |
| |
| HERE=`dirname $0` |
| HERE=`realpath $HERE` |
| cd $HERE |
|
|
|
|
| |
| echo "_____________________________________________" |
| echo |
| echo " 🧩 Superpoint Transformer 🤖 " |
| echo " Installer " |
| echo |
| echo "_____________________________________________" |
| echo |
| echo |
| echo "⭐ Searching for installed CUDA" |
| echo |
| |
| CUDA_VERSION=`nvcc --version | grep release | sed 's/.* release //' | sed 's/, .*//'` |
| CUDA_MAJOR=`echo ${CUDA_VERSION} | sed 's/\..*//'` |
| CUDA_MINOR=`echo ${CUDA_VERSION} | sed 's/.*\.//'` |
|
|
| |
| if [[ ! " ${CUDA_SUPPORTED[*]} " =~ " ${CUDA_VERSION} " ]] |
| then |
| echo "Found CUDA ${CUDA_VERSION} installed, which is not among the supported versions: "`echo ${CUDA_SUPPORTED[*]}` |
| echo "Please update CUDA to one of the supported versions." |
| exit 1 |
| fi |
|
|
| echo |
| echo |
| echo "⭐ Searching for installed conda" |
| echo |
| |
| |
| |
| CONDA_DIR=`realpath ~/miniconda3` |
| if (test -z $CONDA_DIR) || [ ! -d $CONDA_DIR ] |
| then |
| CONDA_DIR=`realpath ~/anaconda3` |
| fi |
|
|
| while (test -z $CONDA_DIR) || [ ! -d $CONDA_DIR ] |
| do |
| echo "Could not find conda at: "$CONDA_DIR |
| read -p "Please provide your conda install directory: " CONDA_DIR |
| CONDA_DIR=`realpath $CONDA_DIR` |
| done |
|
|
| echo "Using conda conda found at: ${CONDA_DIR}/etc/profile.d/conda.sh" |
| source ${CONDA_DIR}/etc/profile.d/conda.sh |
|
|
| echo |
| echo |
| echo "⭐ Creating conda environment '${PROJECT_NAME}'" |
| echo |
| |
| conda create --name ${PROJECT_NAME} python=${PYTHON} -y |
|
|
| |
| source ${CONDA_DIR}/etc/profile.d/conda.sh |
| conda activate ${PROJECT_NAME} |
|
|
| echo |
| echo |
| echo "⭐ Installing conda and pip dependencies" |
| echo |
| conda install pip nb_conda_kernels -y |
| pip install matplotlib |
| pip install plotly==5.9.0 |
| pip install "jupyterlab>=3" "ipywidgets>=7.6" jupyter-dash |
| pip install "notebook>=5.3" "ipywidgets>=7.5" |
| pip install ipykernel |
| pip3 install torch==${TORCH} torchvision --index-url https://download.pytorch.org/whl/cu${CUDA_MAJOR}${CUDA_MINOR} |
| pip install torchmetrics==0.11.4 |
| pip install pyg_lib torch_scatter torch_cluster -f https://data.pyg.org/whl/torch-${TORCH}+cu${CUDA_MAJOR}${CUDA_MINOR}.html |
| pip install torch_geometric==2.3.0 |
| pip install plyfile |
| pip install h5py |
| pip install colorhash |
| pip install seaborn |
| pip install numba |
| pip install pytorch-lightning |
| pip install pyrootutils |
| pip install hydra-core --upgrade |
| pip install hydra-colorlog |
| pip install hydra-submitit-launcher |
| pip install rich |
| pip install torch_tb_profiler |
| pip install wandb |
| pip install open3d |
| pip install gdown |
| pip install ipyfilechooser |
| pip install laspy |
|
|
| echo |
| echo |
| echo "⭐ Installing FRNN" |
| echo |
| git clone --recursive https://github.com/lxxue/FRNN.git src/dependencies/FRNN |
|
|
| |
| cd src/dependencies/FRNN/external/prefix_sum |
| python setup.py install |
|
|
| |
| cd ../../ |
| python setup.py install |
| cd ../../../ |
|
|
| echo |
| echo |
| echo "⭐ Installing Point Geometric Features" |
| echo |
| |
| |
| |
| |
| |
| conda install -c conda-forge libstdcxx-ng |
| pip install git+https://github.com/drprojects/point_geometric_features.git |
|
|
| echo |
| echo |
| echo "⭐ Installing Parallel Cut-Pursuit" |
| echo |
| |
| git clone https://gitlab.com/1a7r0ch3/parallel-cut-pursuit.git src/dependencies/parallel_cut_pursuit |
| git clone https://gitlab.com/1a7r0ch3/grid-graph.git src/dependencies/grid_graph |
|
|
| |
| python scripts/setup_dependencies.py build_ext |
|
|
| echo |
| echo |
| echo "🚀 Successfully installed SPT" |
|
|