Skip to content

Commit ae78906

Browse files
committed
refactor: install scripts with separate functions for each model
1 parent cafd7e6 commit ae78906

File tree

3 files changed

+122
-80
lines changed

3 files changed

+122
-80
lines changed

scripts/install.sh

Lines changed: 59 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -68,35 +68,66 @@ MODELS_WEIGHT_DIR=${MODELS_ROOT_DIR}/weights
6868
mkdir -p ${MODELS_SOURCE_DIR}
6969
mkdir -p ${MODELS_WEIGHT_DIR}
7070

71-
## Make sure we have up-to-date pip and wheel
72-
pip3 install -U pip wheel
7371

74-
if [ "${CUDA_VERSION}" == "" ] && [ "${CPU}" == "False" ]; then
75-
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p')
76-
if [ ${CUDA_VERSION} == "" ]; then
77-
echo "error with cuda, check your system, source env_cuda.sh or specify cuda version as argument."
72+
main () {
73+
pip3 install -U pip wheel
74+
75+
install_torch
76+
77+
if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
78+
install_detectron2
7879
fi
79-
fi
80-
if [ -z "$CUDA_VERSION" ] || [ "$CPU" == "True" ]; then
81-
echo "installing on cpu"
82-
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
83-
wait
84-
else
85-
echo "cuda version: $CUDA_VERSION"
86-
pip3 install torch==${TORCH_VERSION}+cu${CUDA_VERSION//./} torchvision==${TORCHVISION_VERSION}+cu${CUDA_VERSION//./} --extra-index-url https://download.pytorch.org/whl/cu${CUDA_VERSION//./}
87-
wait
88-
fi
89-
90-
## Detectron2
91-
if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
80+
81+
if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
82+
install_jde
83+
fi
84+
85+
if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
86+
install_yolox
87+
fi
88+
89+
if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
90+
install_mmpose
91+
fi
92+
93+
echo
94+
echo "Installing compressai"
95+
echo
96+
pip3 install -e "${SCRIPT_DIR}/../compressai"
9297

98+
echo
99+
echo "Installing compressai-vision"
100+
echo
101+
pip3 install -e "${SCRIPT_DIR}/.."
102+
}
103+
104+
105+
install_torch () {
106+
if [ "${CUDA_VERSION}" == "" ] && [ "${CPU}" == "False" ]; then
107+
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p')
108+
if [ ${CUDA_VERSION} == "" ]; then
109+
echo "error with cuda, check your system, source env_cuda.sh or specify cuda version as argument."
110+
fi
111+
fi
112+
if [ -z "$CUDA_VERSION" ] || [ "$CPU" == "True" ]; then
113+
echo "installing on cpu"
114+
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
115+
wait
116+
else
117+
echo "cuda version: $CUDA_VERSION"
118+
pip3 install torch==${TORCH_VERSION}+cu${CUDA_VERSION//./} torchvision==${TORCHVISION_VERSION}+cu${CUDA_VERSION//./} --extra-index-url https://download.pytorch.org/whl/cu${CUDA_VERSION//./}
119+
wait
120+
fi
121+
}
122+
123+
install_detectron2 () {
93124
echo
94125
echo "Installing detectron2"
95126
echo
96127

97128
# clone
98129
if [ -z "$(ls -A ${MODELS_SOURCE_DIR}/detectron2)" ]; then
99-
git clone https://github.com/facebookresearch/detectron2.git ${MODELS_SOURCE_DIR}/detectron2
130+
git clone --single-branch --branch main https://github.com/facebookresearch/detectron2.git ${MODELS_SOURCE_DIR}/detectron2
100131
fi
101132
cd ${MODELS_SOURCE_DIR}/detectron2
102133

@@ -149,10 +180,9 @@ if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
149180
echo
150181
fi
151182
fi
152-
fi
153-
154-
if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
183+
}
155184

185+
install_jde () {
156186
echo
157187
echo "Installing JDE"
158188
echo
@@ -236,10 +266,9 @@ if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
236266
echo "and placed in the corresponding directory: ${MODELS_WEIGHT_DIR}/jde/jde.1088x608.uncertainty.pt"
237267
echo
238268
fi
269+
}
239270

240-
fi
241-
242-
if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
271+
install_yolox () {
243272
echo
244273
echo "Installing YOLOX (reference: https://github.com/Megvii-BaseDetection/YOLOX)"
245274
echo
@@ -277,9 +306,9 @@ if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
277306
fi
278307
# back to project root
279308
cd ${SCRIPT_DIR}/..
280-
fi
309+
}
281310

282-
if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
311+
install_mmpose () {
283312
echo
284313
echo "Installing MMPOSE (reference: https://github.com/open-mmlab/mmpose/tree/main)"
285314
echo
@@ -326,15 +355,6 @@ if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
326355
fi
327356
# back to project root
328357
cd ${SCRIPT_DIR}/..
329-
fi
330-
331-
echo
332-
echo "Installing compressai"
333-
echo
334-
pip3 install -e "${SCRIPT_DIR}/../compressai"
335-
336-
echo
337-
echo "Installing compressai-vision"
338-
echo
358+
}
339359

340-
pip3 install -e "${SCRIPT_DIR}/.."
360+
main "$@"

scripts/install_uv.sh

Lines changed: 60 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -68,28 +68,60 @@ MODELS_WEIGHT_DIR=${MODELS_ROOT_DIR}/weights
6868
mkdir -p ${MODELS_SOURCE_DIR}
6969
mkdir -p ${MODELS_WEIGHT_DIR}
7070

71-
## Make sure we have up-to-date pip and wheel
72-
uv add --upgrade pip wheel
7371

74-
if [ "${CUDA_VERSION}" == "" ] && [ "${CPU}" == "False" ]; then
75-
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p')
76-
if [ ${CUDA_VERSION} == "" ]; then
77-
echo "error with cuda, check your system, source env_cuda.sh or specify cuda version as argument."
72+
main () {
73+
uv pip install -U pip wheel
74+
75+
install_torch
76+
77+
if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
78+
install_detectron2
79+
fi
80+
81+
if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
82+
install_jde
7883
fi
79-
fi
80-
if [ -z "$CUDA_VERSION" ] || [ "$CPU" == "True" ]; then
81-
echo "installing on cpu"
82-
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
83-
wait
84-
else
85-
echo "cuda version: $CUDA_VERSION"
86-
uv pip install torch==${TORCH_VERSION}+cu${CUDA_VERSION//./} torchvision==${TORCHVISION_VERSION}+cu${CUDA_VERSION//./} --extra-index-url https://download.pytorch.org/whl/cu${CUDA_VERSION//./}
87-
wait
88-
fi
89-
90-
## Detectron2
91-
if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
9284

85+
if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
86+
install_yolox
87+
fi
88+
89+
if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
90+
install_mmpose
91+
fi
92+
93+
echo
94+
echo "Installing compressai"
95+
echo
96+
uv pip install -e "${SCRIPT_DIR}/../compressai"
97+
98+
echo
99+
echo "Installing compressai-vision"
100+
echo
101+
102+
uv pip install -e "${SCRIPT_DIR}/.."
103+
}
104+
105+
106+
install_torch () {
107+
if [ "${CUDA_VERSION}" == "" ] && [ "${CPU}" == "False" ]; then
108+
CUDA_VERSION=$(nvcc --version | sed -n 's/^.*release \([0-9]\+\.[0-9]\+\).*$/\1/p')
109+
if [ ${CUDA_VERSION} == "" ]; then
110+
echo "error with cuda, check your system, source env_cuda.sh or specify cuda version as argument."
111+
fi
112+
fi
113+
if [ -z "$CUDA_VERSION" ] || [ "$CPU" == "True" ]; then
114+
echo "installing on cpu"
115+
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
116+
wait
117+
else
118+
echo "cuda version: $CUDA_VERSION"
119+
uv pip install torch==${TORCH_VERSION}+cu${CUDA_VERSION//./} torchvision==${TORCHVISION_VERSION}+cu${CUDA_VERSION//./} --extra-index-url https://download.pytorch.org/whl/cu${CUDA_VERSION//./}
120+
wait
121+
fi
122+
}
123+
124+
install_detectron2 () {
93125
echo
94126
echo "Installing detectron2"
95127
echo
@@ -145,10 +177,9 @@ if [ "${MODEL,,}" == "detectron2" ] || [ ${MODEL} == "all" ]; then
145177
echo
146178
fi
147179
fi
148-
fi
149-
150-
if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
180+
}
151181

182+
install_jde () {
152183
echo
153184
echo "Installing JDE"
154185
echo
@@ -194,6 +225,7 @@ if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
194225
echo "error with python site-packages directory, check your system and 'which python'"
195226
echo "ERROR: Fail to install JDE"
196227
fi
228+
197229
mkdir -p ${SITE_PACKAGES}/jde
198230
cp models.py ${SITE_PACKAGES}/jde
199231
cp -r tracker ${SITE_PACKAGES}/jde/
@@ -232,9 +264,9 @@ if [ "${MODEL,,}" == "jde" ] || [ ${MODEL} == "all" ]; then
232264
echo "and placed in the corresponding directory: ${MODELS_WEIGHT_DIR}/jde/jde.1088x608.uncertainty.pt"
233265
echo
234266
fi
235-
fi
267+
}
236268

237-
if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
269+
install_yolox () {
238270
echo
239271
echo "Installing YOLOX (reference: https://github.com/Megvii-BaseDetection/YOLOX)"
240272
echo
@@ -272,10 +304,9 @@ if [ "${MODEL,,}" == "yolox" ] || [ ${MODEL} == "all" ]; then
272304
fi
273305
# back to project root
274306
cd ${SCRIPT_DIR}/..
275-
fi
307+
}
276308

277-
278-
if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
309+
install_mmpose () {
279310
echo
280311
echo "Installing MMPOSE (reference: https://github.com/open-mmlab/mmpose/tree/main)"
281312
echo
@@ -318,15 +349,6 @@ if [ "${MODEL,,}" == "mmpose" ] || [ ${MODEL} == "all" ]; then
318349
fi
319350
# back to project root
320351
cd ${SCRIPT_DIR}/..
321-
fi
322-
323-
echo
324-
echo "Installing compressai"
325-
echo
326-
uv pip install -e "${SCRIPT_DIR}/../compressai"
327-
328-
echo
329-
echo "Installing compressai-vision"
330-
echo
352+
}
331353

332-
uv pip install -e "${SCRIPT_DIR}/.."
354+
main "$@"

uv.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)