@@ -33,21 +33,16 @@ $ python3 -m venv venv
3333$ source venv/bin/activate
3434
3535RUN OPTIONS:
36- [-m|--model, vision models to install, (detectron2/ jde/yolox/mmpose/segment-anything/all) default=all]
36+ [-m|--model, vision models to install, (jde/yolox/mmpose/segment-anything/all) default=all]
3737 [-t|--torch torch version, default="2.0.0"]
3838 [--torchvision torchvision version, default="0.15.1"]
3939 [--cpu) build for cpu only)]
4040 [--cuda_version) provide cuda version e.g. "11.8", default: check nvcc output)]
41- [--detectron2_url use this if you want to specify a pre-built detectron2 (find at
42- "https://detectron2.readthedocs.io/en/latest/tutorials/install.html#install-pre-built-detectron2-linux-only"),
43- not required for regular versions derived from cuda and torch versions above.
44- default:"https://dl.fbaipublicfiles.com/detectron2/wheels/cu102/torch1.9/index.html"]
4541 [--models_dir directory to install vision models to, default: compressai_vision_root]
4642 [--no-install) do not install (i.e. useful for only preparing source code by downloading and patching
4743 [--no-weights) prevents the installation script from downloading vision model parameters]
4844
4945
50- EXAMPLE [bash install.sh -m detectron2 -t "1.9.1" --cuda_version "11.8" --compressai /path/to/compressai]
5146
5247_EOF_
5348 exit ;
6762
6863
6964WEIGHTS="
70- 3c25caca37baabbff3e22cc9eb0923db165a0c18b867871a3bf3570bac9b7ef0 detectron2/COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl https://dl.fbaipublicfiles.com/detectron2/COCO-Detection/faster_rcnn_R_50_FPN_3x/137849458/model_final_280758.pkl
71- fe5ad56ff746aa55c5f453b01f8395134e9281d240dbeb473411d4a6b262c9dc detectron2/COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x/139173657/model_final_68b088.pkl https://dl.fbaipublicfiles.com/detectron2/COCO-Detection/faster_rcnn_X_101_32x8d_FPN_3x/139173657/model_final_68b088.pkl
72- 9a737e290372f1f70994ebcbd89d8004dbb3ae30a605fd915a190fa4a782dd66 detectron2/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl https://dl.fbaipublicfiles.com/detectron2/COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x/137849600/model_final_f10217.pkl
73- 12f6e1811baf1b4d329c3f5ac5ec52d8f634d3cedc82a13fff55d0c05d84f442 detectron2/COCO-InstanceSegmentation/mask_rcnn_X_101_32x8d_FPN_3x/139653917/model_final_2d9806.pkl https://dl.fbaipublicfiles.com/detectron2/COCO-InstanceSegmentation/mask_rcnn_X_101_32x8d_FPN_3x/139653917/model_final_2d9806.pkl
74- 808c675e647298688589c895c9581f7f3963995c5708bc53f66449200321d147 detectron2/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl https://dl.fbaipublicfiles.com/detectron2/COCO-PanopticSegmentation/panoptic_fpn_R_101_3x/139514519/model_final_cafdb1.pkl
75656b135b0affa38899b607010c86c2f8dbc1c06956bad9ca1edd45b01e626933f1 jde/jde.1088x608.uncertainty.pt https://drive.usercontent.google.com/download?export=download&confirm=t&id=1nlnuYfGNuHWZztQHXwVZSL_FvfE551pA
7666516a421f8717548300c3ee6356a3444ac539083d4a9912f8ca1619ee63d0986d mmpose/rtmo_coco/rtmo-l_16xb16-600e_coco-640x640-516a421f_20231211.pth https://download.openmmlab.com/mmpose/v1/projects/rtmo/rtmo-l_16xb16-600e_coco-640x640-516a421f_20231211.pth
7767b5905e9faf500a2608c93991f91a41a6150bcd2dd30986865a73becd94542fa1 yolox/darknet53/yolox_darknet.pth https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_darknet.pth
@@ -181,8 +171,7 @@ run_install () {
181171 if [[ " ${PACKAGE_MANAGER} " == " uv" ]]; then
182172 echo
183173 echo " Detect differences from uv.lock:"
184- echo " uv sync --inexact --extra=${BUILD_SUFFIX} --dry-run"
185- uv sync --inexact --extra=" ${BUILD_SUFFIX} " --dry-run
174+ echo " uv sync --inexact --extra=${BUILD_SUFFIX} "
186175 uv sync --inexact --extra=" ${BUILD_SUFFIX} "
187176 fi
188177}
@@ -205,15 +194,6 @@ detect_cuda_version () {
205194 echo " Detected CUDA version: ${CUDA_VERSION} "
206195}
207196
208- install_torch () {
209- if [ " ${CPU} " == " True" ]; then
210- " ${PIP[@]} " install " torch==${TORCH_VERSION} " " torchvision==${TORCHVISION_VERSION} " --index-url " https://download.pytorch.org/whl/${BUILD_SUFFIX} "
211- else
212- # TODO(refactor): If we use --index-url instead, the "+${BUILD_SUFFIX}" does not need to be explicitly specified.
213- " ${PIP[@]} " install " torch==${TORCH_VERSION} +${BUILD_SUFFIX} " " torchvision==${TORCHVISION_VERSION} +${BUILD_SUFFIX} " --extra-index-url " https://download.pytorch.org/whl/${BUILD_SUFFIX} "
214- fi
215- }
216-
217197prepare_detectron2 () {
218198 echo
219199 echo " Preparing detectron2 for installation"
@@ -226,28 +206,37 @@ prepare_detectron2 () {
226206
227207 git clone --single-branch --branch main https://github.com/facebookresearch/detectron2.git " ${MODELS_SOURCE_DIR} /detectron2"
228208 cd " ${MODELS_SOURCE_DIR} /detectron2"
229- git -c advice.detachedHead=false checkout 175b2453c2bc4227b8039118c01494ee75b08136
209+ git -c advice.detachedHead=false checkout c554533136231a94971a995185501539f5c808f9
230210 git apply " ${SCRIPT_DIR} /patches/0001-detectron2-fpn-bottom-up-separate.patch" || echo " Patch could not be applied. Possibly already applied."
231211 cd " ${COMPRESSAI_VISION_ROOT_DIR} "
232212}
233213
234214install_detectron2 () {
235215 echo
236- echo " Installing detectron2"
216+ echo " Installing detectron2 (reference: https://github.com/facebookresearch/detectron2) "
237217 echo
238218
239219 cd " ${MODELS_SOURCE_DIR} /detectron2"
240220
241221 if [[ " ${PACKAGE_MANAGER} " == " pip3" ]]; then
242222 " ${PIP[@]} " install -e .
243223 elif [[ " ${PACKAGE_MANAGER} " == " uv" ]]; then
244- cd " ${COMPRESSAI_VISION_ROOT_DIR} "
245- uv sync --inexact --group=models-detectron2
224+ " ${PIP[@]} " install -e .
246225 fi
247226
248227 cd " ${COMPRESSAI_VISION_ROOT_DIR} "
249228}
250229
230+ install_torch () {
231+ if [ " ${CPU} " == " True" ]; then
232+ " ${PIP[@]} " install " torch==${TORCH_VERSION} " " torchvision==${TORCHVISION_VERSION} " --index-url " https://download.pytorch.org/whl/${BUILD_SUFFIX} "
233+ else
234+ # TODO(refactor): If we use --index-url instead, the "+${BUILD_SUFFIX}" does not need to be explicitly specified.
235+ " ${PIP[@]} " install " torch==${TORCH_VERSION} +${BUILD_SUFFIX} " " torchvision==${TORCHVISION_VERSION} +${BUILD_SUFFIX} " --extra-index-url " https://download.pytorch.org/whl/${BUILD_SUFFIX} "
236+ fi
237+ }
238+
239+
251240prepare_cython_bbox () {
252241 echo
253242 echo " Preparing cython_bbox for installation"
@@ -339,6 +328,15 @@ prepare_yolox () {
339328 cd " ${COMPRESSAI_VISION_ROOT_DIR} "
340329}
341330
331+ install_mmcv () {
332+ echo
333+ echo " Installing mmcv"
334+ echo
335+ local torch_version_url_part=" torch${TORCH_VERSION% .* } "
336+ local find_links_url=" https://download.openmmlab.com/mmcv/dist/${BUILD_SUFFIX} /${torch_version_url_part} /index.html"
337+ " ${PIP[@]} " install " mmcv==2.0.1" --find-links " ${find_links_url} "
338+ }
339+
342340install_yolox () {
343341 echo
344342 echo " Installing YOLOX (reference: https://github.com/Megvii-BaseDetection/YOLOX)"
@@ -375,6 +373,7 @@ prepare_mmpose () {
375373}
376374
377375install_mmpose () {
376+
378377 echo
379378 echo " Installing MMPOSE (reference: https://github.com/open-mmlab/mmpose/tree/main)"
380379 echo
@@ -394,7 +393,8 @@ install_mmpose () {
394393 uv sync --inexact --group=models-mmpose
395394 fi
396395
397- " ${MIM[@]} " install " mmcv==2.0.1"
396+ install_mmcv
397+
398398 " ${MIM[@]} " install " mmdet==3.1.0"
399399
400400 cd " ${COMPRESSAI_VISION_ROOT_DIR} "
@@ -439,7 +439,7 @@ download_weights () {
439439 mkdir -p " ${MODELS_WEIGHT_DIR} "
440440 cd " ${MODELS_WEIGHT_DIR} /"
441441
442- for model in detectron2 jde mmpose yolox segment_anything; do
442+ for model in jde mmpose yolox segment_anything; do
443443 if ! [[ " ,${MODEL,,} ," == * " ,${model} ," * ]] && [[ " ,${MODEL,,} ," != * " ,all," * ]]; then
444444 continue
445445 fi
0 commit comments