[python] Tensorflow의 GPU사용이 안되는 문제

October 30 2021

Tensorflow의 GPU사용이 안되는 문제

10월 26일 GPU서버에서 Pytorch와 Tensorflow 모듈로 GPU사용이 가능한지 확인해보려는데 Tensorflow만 GPU정보를 가져올 수 없었습니다. 해결 과정에 대해 기록하고자 합니다

확인 사항

  1. python버전 확인

    터미널에서 python --version 으로 확인해보니 3.6.0 버전을 사용하고 있습니다.

  2. tensorflow 버전확인 - 2.4.0

    tensorflow 는 python 기본 제공 패키지가 아니므로 conda로 확인해야 합니다.

    conda tensorflow --version

    • pip : python만 한정된 패키지 관리자
    • conda : python 뿐만 아니라 c, java등에도 포함된 패키지 관리자
  3. CUDA 버전 확인 - 10.0.243

    $nvcc -V
    
  4. 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 [홀로 떠나는 여행]

  1. tensorflow에 맞는 cuDNN와 CUDA버전 확인

  • tensorflow의 버전이 CUDA와 맞지 않으므로 tensorflow나 CUDA의 버전을 바꿔야 합니다.

tensorflow 업그레이드

  • 비교적 tensorflow 를 업그레이드가 CUDA 업그레이드보다 간단해서 tensorflow를 업그레이드 해봤는데 업그레이드과정에서 numpy의 버전과 충돌이 나버렸습니다.

CUDA 업그레이드

tensorflow를 업그레이드 할 수 없으니 CUDA를 업그레이드 해줍니다.

CUDA드라이버의 용량이 크므로 local환경에 드라이버를 설치한 후에 GPU서버에서 드라이버 파일을 실행하도록 합니다.

  1. 드라이버 설치

https://developer.nvidia.com/cuda-11.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=runfilelocal

  1. VPN 키고 GPU서버 접속
  2. 가상환경 활성화
  3. CUDA드라이버 실행

Categories:

Updated:

Leave a comment