오늘은 잊을만하면 나오는 mmcv 설치 방법에 대해 총정리하는 포스팅을 해보려고 한다. 사실 항상 설치할 때마다 열받는 것 같아서, 한번에 정리해보기로 했다. (미래에 내가 볼 수 있도록..)
# mmcv 설치하기 - 버전 상관 없을 때
일단 mmcv 설치를 위해서는 본인의 cuda 버전에 맞는 알맞은 torch가 설치되어 있어야 한다. (자신의 cuda에 맞는 torch version 탐색은 여기를 참고하면 된다) 사실 mmcv 버전이 상관 없고, 그냥 설치만 하면 되는 상황이라면 공식 홈페이지에서 나와있듯 아주 쉽게 설치할 수 있다. 아래와 같이 openmim을 사용하면 된다.
pip install -U openmim
mim install mmcv
특정 버전의 mmcv (아마 버전 2 이상)을 이렇게 지정해줄 수도 있다.
mim install mmcv==2.0.0
이 외에도 mmdet이나 mmseg도 mim을 이용해 아주 편리하게 설치할 수 있다.
# mmcv downgrade 버전 설치하기 - 낮은 버전이 필요할 때
나를 열받게 한 부분은 이 것이다. Segformer는 낮은 mmcv 버전밖에 지원하지 않기 때문에, downgrade를 해야했는데 필자의 cuda는 11.1로 mmcv와 cuda version이 맞지 않았다. (낮은 버전의 mmcv는 대부분 cuda 11.1을 지원하지 않았음)
필자는 Segformer를 train하기 위해 mmcv==1.2.0 정도가 필요한 상황이었다. 어떤 친절한 중국인의 도움으로 여기에 다음과 같이 torch 1.7.0과 cuda 11.0으로 mmcv 1.2.0를 직접 build 할 수 있다는 사실을 알게되었다.
따라서 이를 위해서는 torch 1.7.0 + cuda 11.0을 설치해야한다. (conda 말고 pip로 설치하는게 나은 것 같다. conda로 설치했더니 cuda를 못물었음..^-ㅠ)
pip install torch==1.7.0+cu110 torchvision==0.8.1+cu110 https://download.pytorch.org/whl/torch_stable.html
# 참고로 공식 사이트에는 torachvision==0.8.0+cu110으로 나와있는데 0.8.0으로 하면 찾을 수 없다고 하면서 설치가 안된다. 뭐지?
정상적으로 설치했다면, 여기를 참고해 아래 명령어를 이용해 mmcv를 설치해주자.
pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
사실 필자도 지금 이 글을 쓰면서 설치중이다. ..
# mmcv._ext error 해결
이는 mmcv-full을 설치하지 않아서 발생하는 문제이다. 필자가 파악한 바로는 mmcv 버전 2 이상에서는 위 mim을 이용하면 자동으로 mmcv-full로 설치가 되는데, 그 아래 버전은 아닌 것 같다. 따라서 만약 내가 낮은 버전의 mmcv를 사용하고 있다면 mmcv-full을 pip로 설치해줘야한다.
'PyTorch👩🏻💻' 카테고리의 다른 글
[PyTorch] 데코레이터랑 친해지기 @torch.jit.script / @torch.no_grad.. (0) | 2023.07.29 |
---|---|
[PyTorch] 모델 efficiency 측정하기 (used gpu memory / parameter 개수 / Inference time) (0) | 2023.06.06 |
[PyTorch] nvcc가 안될 때 ~/.bashrc 수정해 환경변수 설정하기 (1) | 2023.03.27 |
[PyTorch] Multi-GPU 사용하기 (torch.distributed.launch) (0) | 2022.06.10 |
[TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv) (1) | 2022.06.10 |