GNN관련 코드를 보다가 원래 pip install torch-sparse만 해도 예전에는 설치가 잘 되었었는데, 어느 순간부터 이렇게 했더니 패키지 종속관계가 맞지 않는 문제가 발생해 설치가 되지 않았다. 아마 업데이트가 된 모양인데...! 생각보다 설치하는 과정이 까다로워서 블로그에 정리해보려고 한다.
torch-geometric과 torch-sparse, torch-scatter 등은 무언가 dependency가 존재하는 패키지인 듯 했다. (나는 torch-sparse와 torch-scatter 패키지만 필요한 상황이었다.)
우선 torch-geometric의 공식 홈페이지인 이 곳에 방문하면, torch가 1.8.0 이상이면 다음과 같이 설치하라고 안내한다.
> conda install pyg -c pyg -c conda-forge
하지만 이렇게 해보았으나, 무언가 가상환경 내에서 conflict 되어서 설치가 되지 않았다.
따라서 torch-sparse 의 공식 github에 방문하여 다음과 같은 방법으로 해결하였다. 우선 이를 위해서는 자신의 torch 버전과 cuda 버전을 확인해야한다. 아마 다음과 같이 확인할 수 있다.
$ python -c "import torch; print(torch.__version__)"
>>> 1.7.0 ... torch version 확인
$ nvidia-smi
>>> cuda111 ... cuda version 확인(nvidia 박스 안에 표시되어 있다)
이를 확인한 후 이에 맞춰서 다음과 같이 설치해주면 된다.
-- pytorch 1.9.0 / 1.9.1 버전의 경우
$ pip install torch-scatter torch-sparse torch-geometric -f https://data.pyg.org/whl/torch-1.9.0+${CUDA}.html
위 ${CUDA} 에는 자신의 cuda 버전이 들어가면 된다. 만약 자신의 cuda 버전이 11.1 버전이라면 cu111을 대신 넣어주면 되겠다.
위와 같은 방법으로 이 에러를 해결하였다 :)
+) 22.04.30 추가
만약 위 명령어로도 실행되지 않는다면, 직접 torch-scatter, torch-sparse 등의 버전을 지정해 pip로 직접 설치해주면 된다!
방법은 다음과 같다.
$ python -m pip install torch-scatter==2.0.6
참고로 아래 버전의 조합과 세팅이라면 정상적으로 torch-sparse 모임을 실행할 수 있다. 위 방법으로 안될땐 그냥 아래 패키지의 버전을 pip로 직접 설치해주자 !
- torch=1.8.1+cu111 (CUDA 11.4도 정상적으로 적용된다.)
- torch-geometric=1.4.3
- torch-sparse=0.6.9
- torch-scatter=2.0.6
또 참고로 만약 위 버전을 그대로 따라하고 싶을 때, torch=1.8.1+cu111 버전의 토치를 설치하고 싶다면 다음과 같이 설치하면 된다.
$ pip install torch==1.8.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html
'PyTorch👩🏻💻' 카테고리의 다른 글
[PyTorch] Multi-GPU 사용하기 (torch.distributed.launch) (0) | 2022.06.10 |
---|---|
[TIL] OpenPCDet 가상환경 세팅하기 (cuda11.1 + spconv) (1) | 2022.06.10 |
[PyTorch] PyTorch Autograd 이젠 공부하자 - pytorch.autograd 총정리하기 (+code) (0) | 2022.02.16 |
[PyTorch] CUDA 11.2 + RTX3090에 맞는 torch version 세팅하기 (3) | 2022.01.30 |
[PyTorch] torchvision model들의 input channel 변경이 안될 때 (0) | 2021.08.08 |