Spaces:
Running
on
Zero
Running
on
Zero
| set -e | |
| # ========================================== | |
| # UniSH Auto-Install Script | |
| # ========================================== | |
| get_cuda_version() { | |
| if [ ! -z "$1" ]; then echo "$1"; return; fi | |
| if command -v nvidia-smi &> /dev/null; then | |
| DRIVER_CUDA_MAJOR=$(nvidia-smi | grep "CUDA Version" | awk -F'CUDA Version:' '{print $2}' | awk -F'.' '{print $1}' | tr -d '[:space:]') | |
| if [ "$DRIVER_CUDA_MAJOR" == "12" ]; then echo "12.1"; elif [ "$DRIVER_CUDA_MAJOR" == "11" ]; then echo "11.8"; else echo "12.1"; fi | |
| else echo "12.1"; fi | |
| } | |
| if [[ -z "$CONDA_PREFIX" ]]; then | |
| echo "❌ Error: Please activate the conda environment first!" | |
| exit 1 | |
| fi | |
| TARGET_CUDA=$(get_cuda_version "$1") | |
| echo "========================================" | |
| echo " Detected/Selected CUDA: $TARGET_CUDA" | |
| echo "========================================" | |
| if [[ "$TARGET_CUDA" == "12.1" ]]; then TORCH_INDEX_URL="https://download.pytorch.org/whl/cu121"; | |
| elif [[ "$TARGET_CUDA" == "11.8" ]]; then TORCH_INDEX_URL="https://download.pytorch.org/whl/cu118"; | |
| else TORCH_INDEX_URL=""; fi | |
| echo "[1/6] Installing PyTorch 2.4.1 (CUDA $TARGET_CUDA)..." | |
| pip install torch==2.4.1 torchvision==0.19.1 --index-url $TORCH_INDEX_URL | |
| echo "[2/6] Installing Safe Requirements..." | |
| pip install -r requirements.txt | |
| echo "[3/6] Installing Custom Utils3D..." | |
| pip install "git+https://github.com/EasternJournalist/utils3d.git@3fab839f0be9931dac7c8488eb0e1600c236e183" | |
| echo "[4/6] Installing Heavy Dependencies..." | |
| pip install open3d==0.19.0 --no-deps | |
| pip install ultralytics==8.3.227 --no-deps | |
| pip install timm==1.0.24 --no-deps | |
| echo "[5/6] Installing MMCV & PyTorch3D..." | |
| pip install mmcv==2.2.0 --no-deps --no-binary mmcv | |
| pip install "git+https://github.com/facebookresearch/pytorch3d.git@stable" --no-build-isolation | |
| echo "[6/6] Installing SAM 2 (With Setuptools Fix)..." | |
| pip install setuptools==69.5.1 wheel | |
| rm -rf _tmp_install_sam2 | |
| mkdir -p _tmp_install_sam2 | |
| cd _tmp_install_sam2 | |
| echo " -> Cloning SAM 2..." | |
| git clone https://github.com/facebookresearch/segment-anything-2.git --depth 1 | |
| cd segment-anything-2 | |
| echo " -> Patching setup.py..." | |
| python -c " | |
| path = 'setup.py' | |
| with open(path, 'r') as f: c = f.read() | |
| c = c.replace('torch>=2.5.1', 'torch>=2.4.1') | |
| with open(path, 'w') as f: f.write(c) | |
| " | |
| pip install . --no-deps --no-build-isolation | |
| cd ../.. | |
| rm -rf _tmp_install_sam2 | |
| echo "========================================" | |
| echo "Installation Complete!" | |
| python -c "import torch; print(f'PyTorch: {torch.__version__} | CUDA: {torch.version.cuda}')" | |
| echo "========================================" |