|
#!/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" |
|
|