티스토리 뷰

일단 가상환경 위 혹은 도커 위에서 설치해야 한다. 공식 문서에서는 root user에서 설치하지 말라고 한다. 

 

anaconda로 설치하기

현재 자신의 pytorch 버전이 1.10 이상이고, CUDA버전이 10.2 이상이라면 anaconda를 통해서 설치하는것을 추천한다. 

conda install pyg -c pyg

그 이하의 버전이라면 pip wheel을 통해서 설치해야 한다. (조금 복잡함)

 

pytorch와 CUDA버전을 올리고 싶을 수 있다. 

이때 주의해야 할 사항들은 다음과 같다. 

 

1.

 gpu의 CUDA버전과 torch의 CUDA 버전이 같은지 확인한다. nvidia-smi에서 나온 CUDA버전과 

 $ print(torch.version.cuda

에서 나온 버전이 같은 것이 좋다. 아니면 예상치 못한 에러가 나타날 수 있다. 

 

2. CUDA버전과 pytorch 버전이 맞는지 확인한다. 

원래는 CUDA 버전을 지정해서 설치할 경우 해당 버전에 맞는 pytorch 라이브러리가 설치되는데 (CUDA=11.0의 경우 pytorch=1.7.1 로 설치) 그 이상의 버전으로 설치가 될 경우 CUDA 버전과 파이토치 버전이 맞지 않아 자동으로 cpu 버전으로 될 수 도 있다. 그런 경우에는 

 

print(torch.cuda.is_available()) 
이 false가 되어서 gpu로 연산을 못하여 급격하게 러닝이 느려진다. 

 

 

pip wheel로 설치하기

1. python cell에서 해당 명령어를 실행시켜서 버전을 확인한다. 

 

import torch
print(torch.__version__)
print(torch.version.cuda)

 

2. python cell에서 밑의 명령어를 실행시켜 준다. torch와 cuda버전은 1에서 나온 결과로 바꿔준다.

TORCH = "1.4.0"
CUDA = "cu101"
%pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
%pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
%pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
%pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html
%pip install torch-geometric

 

3. 마무리

import torch_geometric

으로 설치가 잘 되었는지 확인한다. 

+) torch-sparse가 없다는 에러가 계속 난다면?

비슷한 에러:

OSError: /opt/conda/envs/venv/lib/python3.8/site-packages/torch_sparse/_version_cpu.so: undefined symbol: _ZN3c106detail12infer_schema20make_function_schemaENS_8ArrayRefINS1_11ArgumentDefEEES4_

geometric 내부 문제인 것 같다. 이것때문에 하루 날림 ㅠ

pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.4.0+cu101.html

위 명령어를 실행할 때, 나에게 맞는 버전은 0.5.1~0.6.1 이었는데 그 이상의 높은 버전을 강제 설치 하려고 해서 에러가 발생하는 것이었다... 아마 내부적으로 버전을 확인하는 부분에서 문제가 있나보다.

 

https://pytorch-geometric.com/whl/torch-1.4.0%2Bcu101.html

위 사이트에서 빌드 파일을 받아서 설치해주는 것으로 해결했다. 

cp= 현재 파이썬 버전으로 맞춰주면 된다. 

 

내가 설치한 코드는 다음과 같다. 

# cluster
%pip install https://data.pyg.org/whl/torch-1.4.0%2Bcu101/torch_cluster-1.5.4-cp38-cp38-linux_x86_64.whl
# scatter
%pip install https://data.pyg.org/whl/torch-1.4.0%2Bcu101/torch_scatter-2.0.4-cp38-cp38-linux_x86_64.whl
# sparse
%pip install https://data.pyg.org/whl/torch-1.4.0%2Bcu101/torch_sparse-0.6.1-cp38-cp38-linux_x86_64.whl
# spline_conv
%pip install https://data.pyg.org/whl/torch-1.4.0%2Bcu101/torch_spline_conv-1.2.0-cp38-cp38-linux_x86_64.whl
%pip install torch-geometric

 

'MachineLearning > Graph Neural Network' 카테고리의 다른 글

[GraphML] Graph의 Task들  (0) 2022.09.08
[GraphML] Graph Neural Network Learning Path  (0) 2022.09.08
[GNN] Graph Data의 종류  (0) 2022.09.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함