Swin 개발환경 설정(CBnetV2 설치)
- CUDA 11.0.2 설치
CUDA 버전은 설치할 라이브러리의 호환성에 맞추어 잘 선택.(pytorch prebuild 버전이 홈페이지 올라와있는 11.1로 설치했다면 더 간편했을 것. 이 게시글에서는 11.0로 설치했음.)
- CUDA Download (.run 파일로 설치하는 것이 가장 편하다)
-
그래픽 드라이버 체크 해제 설치
$ sudo sh cuda_11.0.2_450.51.05_linux.run
-
CUDA 환경변수 설정
$ sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.0
export FORCE_CUDA="1"
$ source ~/.bashrc
$ sudo reboot
2. CUDNN 8 설치
-
cudnn 설치 후
$ tar xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
$ cd cuda
$ sudo cp include/cudnn* /usr/local/cuda-11.0/include
$ sudo cp lib64/libcudnn* /usr/local/cuda-11.0/lib64/
$ sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
$ cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 -
cudnn8 버전에서는 cudnn_version.h 로 확인!
설치한 cudnn 버전이 출력되면 정상적으로 설정된 것이고, 아무런 메시지가 출력되지 않으면 환경변수/경로 등을 확인해야함.
3. Swin-Transformer-Object-Detection 개발환경 설정
-
CBNetV2 코드 내려받기
$ https://github.com/VDIGPKU/CBNetV2.git
$ mv CBNetV2/ mmdetection_swin -
cuda 버전에 맞는 의존성 패키지 설치
$ pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/cu110/torch_stable.html
-
mmcv-full 설치 (반드시 수동설치 해야함)
$ pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
-
mmdet 설치
$ python setup.py develop
-
mmdetectionswin/mmdet/_init.py 수정
19 mmcv_maximum_version = '1.5.0' # '1.4.0'
- wandb 설치
$ pip install wandb
4. 데모 코드 실행
- cascade_mask_rcnn_swin_base 데모
$ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth
데모 실행 시 mmcv maximum version(1.4.0)을 초과했다는 에러발생 시, "Swin root/mmdet/init.py" 파일의 20 line mmcv_maximum_version 을 1.5.0으로 변경해 준다.
(site-packages의 mmdet버전과, swin 로컬 mmdet 버전 차이로 인해 발생하는 에러)
- cascade_mask_rcnn_swin_base 데모 실행 결과
5. Apex 설치
-
Apex 미설치 시 데모 및 트레이닝 중 Apex is not installed 라고 계속 출력된다
$ cd ~/workspace/
$ git clone https://github.com/NVIDIA/apex
$ cd apex
$ sudo apt-get install build-essential
$ pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
$ cd ~/workspace/Swin-Transformer-Object-Detection/
$ python
$ >>> import apex
$ >>> quit() -
apex 동작 확인(경고 문구가 안나오면 apex 설치된 것)
$ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pthntu&target_version=1804&target_type=runfilelocal)
CUDA 버전은 설치할 라이브러리의 호환성에 맞추어 잘 선택.(pytorch prebuild 버전이 홈페이지 올라와있는 11.1로 설치했다면 더 간편했을 것. 이 게시글에서는 11.0로 설치했음.)
- CUDA Download (.run 파일로 설치하는 것이 가장 편하다)
-
그래픽 드라이버 체크 해제 설치
$ sudo sh cuda_11.0.2_450.51.05_linux.run
-
CUDA 환경변수 설정
$ sudo gedit ~/.bashrc
export PATH=/usr/local/cuda-11.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.0
export FORCE_CUDA="1"
$ source ~/.bashrc
$ sudo reboot
2. CUDNN 8 설치
-
cudnn 설치 후
$ tar xvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
$ cd cuda
$ sudo cp include/cudnn* /usr/local/cuda-11.0/include
$ sudo cp lib64/libcudnn* /usr/local/cuda-11.0/lib64/
$ sudo chmod a+r /usr/local/cuda-11.0/lib64/libcudnn*
$ cat /usr/local/cuda-11.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 -
cudnn8 버전에서는 cudnn_version.h 로 확인!
설치한 cudnn 버전이 출력되면 정상적으로 설정된 것이고, 아무런 메시지가 출력되지 않으면 환경변수/경로 등을 확인해야함.
3. Swin-Transformer-Object-Detection 개발환경 설정
-
Swin-Object Detection 코드 내려받기
$ git colon https://github.com/SwinTransformer/Swin-Transformer-Object-Detection.git
-
$ pip install mmdet
-
cuda 버전에 맞는 의존성 패키지 설치
$ pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 torchaudio==0.7.0 -f https://download.pytorch.org/whl/cu110/torch_stable.html
-
mmdet 및 mmcv-full 설치 (반드시 수동설치 해야함)
$ pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
#mmdet(swin-custom) / mmcv-custom 덮어쓰기
#conda env의 site-packages 경로 확인!
$ cd ~/workspace/Swin-Transformer-Object-Detection/mmdet
$ sudo cp -R core/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
$ sudo cp -R datasets/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
$ sudo cp -R models/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
$ sudo cp -R utils/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/mmdet/
$ cd ..
$ sudo cp -R mmcv_custom/ ~/anaconda3/envs/swin/lib/python3.7/site-packages/
4. 데모 코드 실행
- cascade_mask_rcnn_swin_base 데모
$ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth
데모 실행 시 mmcv maximum version(1.4.0)을 초과했다는 에러발생 시, "Swin root/mmdet/init.py" 파일의 20 line mmcv_maximum_version 을 1.5.0으로 변경해 준다.
(site-packages의 mmdet버전과, swin 로컬 mmdet 버전 차이로 인해 발생하는 에러)
- cascade_mask_rcnn_swin_base 데모 실행 결과
5. Apex 설치
-
Apex 미설치 시 데모 및 트레이닝 중 Apex is not installed 라고 계속 출력된다
$ cd ~/workspace/
$ git clone https://github.com/NVIDIA/apex
$ cd apex
$ sudo apt-get install build-essential
$ pip install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
$ cd ~/workspace/Swin-Transformer-Object-Detection/
$ python
$ >>> import apex
$ >>> quit() -
apex 동작 확인(경고 문구가 안나오면 apex 설치된 것)
$ python demo/image_demo2.py demo/demo.jpg configs/swin/cascade_mask_rcnn_swin_base_patch4_window7_mstrain_480-800_giou_4conv1f_adamw_3x_coco.py checkpoint/cascade_mask_rcnn_swin_base_patch4_window7.pth
Author And Source
이 문제에 관하여(Swin 개발환경 설정(CBnetV2 설치)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khjgmdwns/Swin-개발환경-설정재설치저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)