8시간의 사투. MMDetection 설치와 호환 버전의 중요성

테리·2024년 12월 28일
1
post-thumbnail

나는 아직도 모르는 것이 많다. 공식 문서를 보는 것 부터 문제를 찾고 코드를 다루는 것 까지 부족한 것 투성이다. 특히나 프로그램이나 라이브러리를 설치할 때는 "최신 버전이 무조건 좋은거 아닌가?"라는 생각 때문에 최신 버전을 선호한다.
하지만 파이썬을 다루면서 이 생각이 무너진 적이 많았다. 특히 이번에 MMDetection을 설치할 때는 온 갖 에러가 사방에서 발생 하면서 꼬박 1일 이라는 시간을 투자해 겨우 문제없이 설치를 완료했다.
이 글을 몇 명이나 보겠느냐만은 혹시라도 우연히 이 글을 보는 사람이라면 꼭 버전 간의 호환 가능 여부를 확인하면서 진행하길 바란다.


1. GPU 사용을 위한 CUDA 설치

  • GPU가 없다면 이 부분은 스킵 가능(CPU 버전으로 설치)
  • GPU가 있다면 CUDA를 먼저 설치하는 것을 권장

주의할 점 : GPU를 세팅할 때, CUDA 버전과 PyTorch 버전을 맞추어야 함!

  1. 컴퓨터 GPU 모델 확인하기
  • 제어판 - 장치 관리자 - 디스플레이 어댑터

2.GPU 성능 확인
https://www.wikiwand.com/en/CUDA#/GPUs_supported 에서 GPU 성능 확인.(맨 앞의 번호가 해당 모델의 성능을 숫자로 나타낸 것)

  1. CUDA 11.8을 사용할 수 있는지 확인

  1. CUDA 다운로드 및 설치

    https://developer.nvidia.com/cuda-11-8-0-download-archive

윈도우 11이어서 version은 11로 설정한 후 다운로드 및 설치 진행.

  1. cuDNN 11.x 설치

    https://developer.nvidia.com/rdp/cudnn-archive

  • 다운 받은 cuDNN 파일은 압축 해제 후 CUDA가 설치된 경로에 파일을 이동
  • bin, include, lib 의 모든 파일을 이동
  1. 환경변수 편집
    시스템 환경 변수 편집 검색 - 시스템 속성 - 고급 - 환경 변수 - path - 3개의 경로 넣기

환경 변수 편집 후 재부팅 진행.

2. 가상 환경에서 라이브러리 설치

  1. 가상 환경 생성
  • 나중에 라이브러리 설치할 때 파이썬 버전과의 호환 문제가 있어. 3.9 버전으로 설치함.
  1. pytorch 설치(추후 문제 없을시 이 버전으로 진행)

  2. openmim, MMEngine, MMCV 설치

  • pip install -U openmim(에러 발생한 부분 에러 메시지 보고 해결)
  • mim install mmengine
  • mim install "mmcv==2.1.0"(바로 설치하기 보다는 아래 내용을 따라하면서 진행 바람)
    (작성 시점 기준 mmdetection과 mmcv 2.2.0의 호환 문제가 있어 pytorch 버전 변경 및 mmcv 해당 버전으로 설치 진행. 아래 참조.)

★★★★★

  • 최종적으로 확인해보니 mmcv 버전이 pytorch 2.2.x 이상 부터는 mmcv 2.2.0 버전밖에 지원이 안됨. 하지만 작성시점 기준 mmdetection이 mmcv 2.2.0 버전과 호환되지 않아서 mmcv 2.1.0 버전 설치가 필요하며 이로인해 pytorch 버전 또한 2.1.x 버전으로 재 설치해야함.

pytorch 버전 낮춰서 재 설치 후 mmcv 재설치 진행.

mim install "mmcv==2.1.0"

  1. Git clone을 통한 MMDetection 설치(해당 가상환경에서 계속 진행)

3. 제대로 설치됐는지 확인

혹시 아래와 같은 내용이 나왔다면 numpy가 해당 pytorch 버전에서는 너무 높은 버전으로 설치된 것이므로 numpy 버전을 낮춰주면 된다.

미니콘다 실행 후 openmmlab 가상환경에서 아래 코드 실행.

pip install "numpy<2"

conda list로 numpy 버전 확인

최종 확인

0개의 댓글