UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount().
Did you run some cuda functions before calling NumCudaDevices() that might have already set an error?
Error 804: forward compatibility was attempted on non supported HW
(Triggered internally at /opt/conda/conda-bld/pytorch_1603729096996/work/c10/cuda/CUDAFunctions.cpp:108.)
나의 경우는
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
이거 할 때 처음 저 warning 이 뜨면서 Error 는 아니기 때문에 계속 진행은 되었지만 GPU 를 사용할 수 없었다.
인터넷에 치면 가장 많이 나오는 해결책은 reboot 하라는 것이다.
$ reboot
하지만 내 경우에는 전혀 해결책이 되지 않았다.
python3 -C "import torch; print(torch.cuda.is_available())"
위로 확인해봤을때 False 를 확인하였다.
커맨드라인에서 파이썬으로 확인했을 때에도 false 가 나온 것은 내 코드의 문제가 아니고 디바이스 쪽 문제라는 걸 확인할 수 있다.
nvidia-smi 나 nvcc -V 를 사용했을 때 정상 작동했기 때문에 따로 cuda 내부 문제는 아니다!
그래서 좀 더 알아봤더니 pytorch가 지금 cuda 12.1까지만 지원해서 torch랑 cuda 간 충돌일 수도 있다고 한다.
=> 해결책 : 현재 cuda 버전은 12.3 으로 12.0 이나 12.1 로 바꿔야 한다.
'머신러닝 이모저모' 카테고리의 다른 글
Precision 개념 (0) | 2024.02.18 |
---|---|
VScode 에서 tmux 사용하기 (0) | 2024.01.03 |
GPT-2 를 seq2seq 방식으로 학습시키기 (0) | 2023.12.07 |
Ensemble (앙상블 기법) (0) | 2023.09.08 |
딥러닝 에서의 Bayes’ Rule (1) | 2023.08.09 |