[python] Tensorflow의 GPU사용이 안되는 문제
Tensorflow의 GPU사용이 안되는 문제
10월 26일 GPU서버에서 Pytorch와 Tensorflow 모듈로 GPU사용이 가능한지 확인해보려는데 Tensorflow만 GPU정보를 가져올 수 없었습니다. 해결 과정에 대해 기록하고자 합니다
확인 사항
-
python버전 확인
터미널에서
python --version
으로 확인해보니 3.6.0 버전을 사용하고 있습니다. -
tensorflow 버전확인 - 2.4.0
tensorflow 는 python 기본 제공 패키지가 아니므로 conda로 확인해야 합니다.
conda tensorflow --version
- pip : python만 한정된 패키지 관리자
- conda : python 뿐만 아니라 c, java등에도 포함된 패키지 관리자
-
CUDA 버전 확인 - 10.0.243
$nvcc -V
-
cuDNN버전 확인 - 7.5.1
$cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2 |
출처: https://driz2le.tistory.com/264 [홀로 떠나는 여행]
-
tensorflow에 맞는 cuDNN와 CUDA버전 확인
-
tensorflow버전마다 호환되는 python, cuDNN, CUDA의 버전이 있습니다. 아래 링크를 클릭하여 확인해줍니다
-
- tensorflow의 버전이 CUDA와 맞지 않으므로 tensorflow나 CUDA의 버전을 바꿔야 합니다.
tensorflow 업그레이드
- 비교적 tensorflow 를 업그레이드가 CUDA 업그레이드보다 간단해서 tensorflow를 업그레이드 해봤는데 업그레이드과정에서 numpy의 버전과 충돌이 나버렸습니다.
CUDA 업그레이드
tensorflow를 업그레이드 할 수 없으니 CUDA를 업그레이드 해줍니다.
CUDA드라이버의 용량이 크므로 local환경에 드라이버를 설치한 후에 GPU서버에서 드라이버 파일을 실행하도록 합니다.
- 드라이버 설치
- VPN 키고 GPU서버 접속
- 가상환경 활성화
- CUDA드라이버 실행
Leave a comment