SwinTransformer / Swin-Object Detection 개발환경 설정(CUDA 11.0)

HeungJun Kim·2022년 4월 4일
1
post-thumbnail
post-custom-banner

1. CUDA 11.0.2 설치

CUDA 버전은 설치할 라이브러리의 호환성에 맞추어 잘 선택.(pytorch prebuild 버전이 홈페이지 올라와있는 11.1로 설치했다면 더 간편했을 것. 이 게시글에서는 11.0로 설치했음.)

  • CUDA Download (.run 파일로 설치하는 것이 가장 편하다)

$ wget http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.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 설치

3. Swin-Transformer-Object-Detection 개발환경 설정

1번 방법) install로 mmdet swin버전 덮어쓰기
이렇게 하면 swin 디렉토리 하위의 mmdet/mmcv_custom 등이 site-packages에 연결되서
코드 수정사항이 mmdet 패키지에 반영된다.

#swin clone 디렉토리안에서
pip install -v -e .

2번 방법) 폐기
#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 데모 실행 결과
    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

profile
Computer Vision / ADAS / DMS / Face Recognition
post-custom-banner

0개의 댓글