File size: 5,147 Bytes
820b02b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 |
# conda remove -n phmr --all -y
# conda create -n phmr python=3.11.9 -y
# conda activate phmr
# conda install -c "nvidia/label/cuda-12.1.0" cuda-toolkit -y
# Parse command line arguments
PT_VERSION=""
WORLD_VIDEO="false" # Default to false
show_usage() {
echo "Usage: $0 --pt_version <version> [--world-video=<true|false>]"
echo ""
echo "Options:"
echo " --pt_version <version> PyTorch version to install (2.4 or 2.6)"
echo " --world-video <true|false> Download data and install wheel packages (default: false)"
echo " --help Show this help message"
echo ""
echo "Examples:"
echo " $0 --pt_version=2.4"
echo " $0 --pt_version=2.6"
echo " $0 --pt_version=2.4 --world-video=true"
echo " $0 --pt_version=2.6 --world-video=false"
}
# Function to parse boolean values
parse_boolean() {
local value="$1"
case "${value,,}" in # Convert to lowercase
true|yes|1|on)
echo "true"
;;
false|no|0|off)
echo "false"
;;
*)
echo "Error: Invalid boolean value '$value'. Use true/false, yes/no, 1/0, or on/off"
show_usage
exit 1
;;
esac
}
while [[ $# -gt 0 ]]; do
case $1 in
--pt_version)
if [ -n "$2" ] && [ "${2:0:1}" != "-" ]; then
PT_VERSION="$2"
shift 2
else
echo "Error: --pt_version requires a value"
show_usage
exit 1
fi
;;
--pt_version=*)
PT_VERSION="${1#*=}"
shift
;;
--world-video)
if [ -n "$2" ] && [ "${2:0:1}" != "-" ]; then
WORLD_VIDEO=$(parse_boolean "$2")
shift 2
else
echo "Error: --world-video requires a value"
show_usage
exit 1
fi
;;
--world-video=*)
WORLD_VIDEO=$(parse_boolean "${1#*=}")
shift
;;
--help|-h)
show_usage
exit 0
;;
*)
echo "Error: Unknown argument '$1'"
show_usage
exit 1
;;
esac
done
# Validation check for PyTorch version argument
if [ -z "$PT_VERSION" ]; then
echo "Error: PyTorch version argument is required."
show_usage
exit 1
fi
if [ "$PT_VERSION" != "2.4" ] && [ "$PT_VERSION" != "2.6" ]; then
echo "Error: Invalid PyTorch version '$PT_VERSION'."
echo "Supported versions: 2.4, 2.6"
show_usage
exit 1
fi
echo "Installing PyTorch version $PT_VERSION..."
eval "$(conda shell.bash hook)"
if [ "$WORLD_VIDEO" == "true" ]; then
echo "World-video option enabled: Will download data and install wheel packages"
else
echo "World-video option disabled: Skipping data download and wheel installation"
fi
if [ "$PT_VERSION" == "2.4" ]; then
conda create -n phmr_pt$PT_VERSION python=3.11.9 -y
conda activate phmr_pt$PT_VERSION
echo "Installing PyTorch 2.4 and compatible packages..."
pip install torch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 --index-url https://download.pytorch.org/whl/cu121
pip install --upgrade setuptools pip
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.4.0+cu121.html
conda install -c conda-forge suitesparse -y
pip install -r requirements.txt
pip install -U xformers==0.0.27.post2 --index-url https://download.pytorch.org/whl/cu121 --no-deps
if [ "$WORLD_VIDEO" == "true" ]; then
gdown --folder -O ./data/ https://drive.google.com/drive/folders/1IXyhVqL25ofI-tYqyUZCqF-h4V20795H?usp=sharing
pip install data/wheels/detectron2-0.8-cp311-cp311-linux_x86_64.whl
pip install data/wheels/droid_backends_intr-0.3-cp311-cp311-linux_x86_64.whl
pip install data/wheels/lietorch-0.3-cp311-cp311-linux_x86_64.whl
pip install data/wheels/sam2-1.5-cp311-cp311-linux_x86_64.whl
fi
elif [ "$PT_VERSION" == "2.6" ]; then
echo "Installing PyTorch 2.6 and compatible packages..."
conda create -n phmr_pt$PT_VERSION python=3.12.9 -y
conda activate phmr_pt$PT_VERSION
pip install torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu126
pip install --upgrade setuptools pip
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.6.0+cu126.html
pip install -r requirements.txt
pip install -U xformers==0.0.29.post2 --index-url https://download.pytorch.org/whl/cu126 --no-deps
if [ "$WORLD_VIDEO" == "true" ]; then
gdown --folder -O ./data/ https://drive.google.com/drive/folders/151gPvMaUWok_pDQT6h8Rpvk_rCcKvcWZ?usp=sharing
pip install data/wheels/sam2-1.6-cp312-cp312-linux_x86_64.whl
pip install data/wheels/detectron2-0.9-cp312-cp312-linux_x86_64.whl
pip install data/wheels/droid_backends_intr-0.4-cp312-cp312-linux_x86_64.whl
pip install data/wheels/lietorch-0.4-cp312-cp312-linux_x86_64.whl
fi
fi
echo "Installation completed for PyTorch $PT_VERSION!"
|