일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인공지능
- Julia
- matplotlib
- 옵시디언
- Python
- teps
- Linear algebra
- Zotero
- 에러기록
- 텝스
- WOX
- Numerical Analysis
- ChatGPT
- 수치해석
- 고체역학
- 딥러닝
- 텝스공부
- Dear abby
- 수식삽입
- pytorch
- 생산성
- Statics
- 우분투
- MATLAB
- 논문작성법
- LaTeX
- IEEE
- obsidian
- 논문작성
- JAX
- Today
- Total
뛰는 놈 위에 나는 공대생
[PyTorch] PyTorch에서 GPU 사용 본문
tensorflow 2.0 이상 버전을 사용하고 있어서 당연히 PyTorch도 쉽게 gpu를 쓸 수 있을 거라 생각했지만 그렇지 않았다.
왜냐하면 PyTorch도 CUDA 버전을 맞춰줘야 하기 때문이다.
일단은 torch 라이브러리에서 다음 코드를 입력하여 True가 나오는지 False가 나오는지 확인한다.
torch.cuda.is_available()
본인에게 gpu가 있음에도 false가 나온다면 CUDA를 설치해야하는 문제가 된다.
CUDA 설치에 대해 전혀 모른다면 다음 링크에서 확인하자.
https://normal-engineer.tistory.com/163
CUDA 버전을 제대로 확인하고 설치해야 불필요한 시간 낭비를 줄인다. 확인 방법은 Pytorch 사이트에서 확인하는데
https://pytorch.org/get-started/locally/
친절하게도 내가 pytorch 버전 1.12.0일 때, windows를 사용하고 있고 conda를 사용하고 있으며 python을 쓰고 cuda 버전이 11.3이면
아래와 같이 'Run this command'에 있는 명령어를 입력해서 설정할 수 있음을 알려주고 있다.
나의 경우에는 tensorflow의 높은 버전을 사용하는 과정에서 CUDA 11.4가 설치된 상태였고
pytorch는 1.10.2 버전이었다. python은 3.9.7 버전.
그래서 이전 버전의 pytorch를 사용하려면
https://pytorch.org/get-started/previous-versions/
여기에 들어가서 command를 확인하면 된다.
나는 pytorch 1.10.1 버전에 맞춰서
빨간색으로 체크한 command를 anaconda prompt에 입력했다.
참고로 이미 CUDA 11.3 버전을 깔았던 상태이고 cudnn은 8.4.1 버전으로 했다. NVIDIA에서 11.X버전이면 cudnn 8.4.1을 쓰면 된다고 했다.
알고보니 pytorch 1.10.2 버전은 cpu 밖에 지원을 안 한다. 그래서 1.10.1 버전으로 다운그레이드했다.
최신 버전 pytorch는 1.12이기 때문에 최신 버전을 깔면 좋겠다마는(만든 사람도 그렇게 하기를 권고하고 있다), python 버전도 고려를 해야 한다.
내가 지금 글을 쓰는 당시에 더 최신 파이썬 버전이 있음에도 python 3.9 버전을 사용하는 이유가 있다.
torchaudio, torchvision이 3.10에서 썼을 때 오류가 발생했고, 다른 사람들도 그런 현상이 발생했다고 기록을 했기 때문에 일부러 3.9를 사용한 것이다.
따라서 python 3.9에 맞는 torch 버전을 찾는 것이 좋다.
나중에 anaconda에서 설치할 때 쯤에 다시 확인을 했는데
1.10.2를 지우고 1.10.1을 깔았다. 그런데 옆을 보면 py3.9로 되어있는 것을 보니 3.9로 설정하는 것이 맞았던 듯 싶다. (아직 pytorch 1.12.0를 설치해본 적이 없어서 1.12.0 버전에 호환되는 파이썬 버전은 모르겠다.)
GPU 사용 확인
이렇게 한 다음에 제대로 gpu를 쓸 수 있는지 확인을 해야한다.
일일이 jupyter notebook으로 들어가서 코드를 실행하는게 번거로워서 다른 방법을 찾았다.
아나콘다 가상환경에 들어가서
python
을 입력하면 python command를 입력할 수 있게 >>>으로 나온다.
import torch
torch.cuda.is_available()
이렇게 True임을 확인하면 제대로 한 것이다.