GPU 지원

TensorFlow GPU 지원에는 다양한 드라이버와 라이브러리가 필요합니다. 설치를 단순화하고 라이브러리 충돌을 방지하려면 GPU를 지원하는 TensorFlow Docker 이미지를 사용하는 것이 좋습니다(Linux만 해당). 이 설정에는 NVIDIA® GPU 드라이버만 있으면 됩니다.

아래의 설치 명령어는 최신 버전의 TensorFlow에 적용됩니다. 이전 TensorFlow 출시에 사용할 CUDA 및 cuDNN 버전은 테스트된 빌드 구성을 참조하세요.

Pip 패키지

사용 가능한 패키지, 시스템 요구사항 및 명령어는 pip 설치 가이드를 참조하세요. GPU를 지원하는 TensorFlow 패키지를 pip 설치하려면 안정적인 패키지나 개발 패키지를 선택합니다.

pip install tensorflow  # stable

pip install tf-nightly  # preview

이전 버전의 TensorFlow

1.15 이하 버전의 경우 CPU와 GPU 패키지가 다음과 같이 구분됩니다.

pip install tensorflow==1.15      # CPU
pip install tensorflow-gpu==1.15  # GPU

하드웨어 요구사항

다음과 같은 GPU 사용 기기가 지원됩니다.

  • CUDA® Compute Capability 3.5 이상을 포함하는 NVIDIA® GPU 카드. CUDA 사용 GPU 카드 목록을 참조하세요.

소프트웨어 요구사항

다음 NVIDIA® 소프트웨어가 시스템에 설치되어 있어야 합니다.

  • NVIDIA® GPU 드라이버 - CUDA 10.1에는 418.x 이상이 필요합니다.
  • CUDA® Toolkit - TensorFlow는 CUDA 10.1을 지원합니다(TensorFlow 2.1.0 이상).
  • CUPTI는 CUDA Toolkit과 함께 제공됩니다.
  • cuDNN SDK(7.6 이상)
  • (선택사항) TensorRT 6.0 - 일부 모델에서 추론 처리량과 지연 시간을 향상합니다.

Linux 설정

아래 apt 명령어를 사용하면 가장 간편하게 Ubuntu에 필수 NVIDIA 소프트웨어를 설치할 수 있습니다. 그러나 소스에서 TensorFlow를 빌드하는 경우 위에 나열된 소프트웨어 요구사항을 수동으로 설치하고 -devel TensorFlow Docker 이미지를 기본으로 사용하는 것이 좋습니다.

CUDA® Toolkit과 함께 제공되는 CUPTI를 설치합니다. 설치 디렉터리를 $LD_LIBRARY_PATH 환경 변수에 추가합니다.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

CUDA Compute Capability 3.0 또는 다른 버전의 NVIDIA 라이브러리를 포함하는 GPU는 Linux 소스에서 빌드 가이드를 참조하세요.

apt를 사용하여 CUDA 설치

이 섹션에서는 Ubuntu 16.04 및 18.04용 CUDA 10(TensorFlow 1.13.0 이상) 및 CUDA 9를 설치하는 방법을 보여줍니다. 아래의 명령어는 다른 Debian 기반 배포판에도 적용될 수 있습니다.

Ubuntu 18.04(CUDA 10.1)

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo dpkg -i cuda-repo-ubuntu1804_10.1.243-1_amd64.deb
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
sudo apt-get update

# Install NVIDIA driver
sudo apt-get install --no-install-recommends nvidia-driver-430
# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-1 \
    libcudnn7=7.6.4.38-1+cuda10.1  \
    libcudnn7-dev=7.6.4.38-1+cuda10.1


# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer6=6.0.1-1+cuda10.1 \
    libnvinfer-dev=6.0.1-1+cuda10.1 \
    libnvinfer-plugin6=6.0.1-1+cuda10.1

Ubuntu 16.04(CUDA 10.1)

# Add NVIDIA package repositories
# Add HTTPS support for apt-key
sudo apt-get install gnupg-curl
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.1.243-1_amd64.deb
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo dpkg -i cuda-repo-ubuntu1604_10.1.243-1_amd64.deb
sudo apt-get update
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt-get update

# Install NVIDIA driver
# Issue with driver install requires creating /usr/lib/nvidia
sudo mkdir /usr/lib/nvidia
sudo apt-get install --no-install-recommends nvidia-418
# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-10-1 \
    libcudnn7=7.6.4.38-1+cuda10.1  \
    libcudnn7-dev=7.6.4.38-1+cuda10.1


# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends \
    libnvinfer6=6.0.1-1+cuda10.1 \
    libnvinfer-dev=6.0.1-1+cuda10.1 \
    libnvinfer-plugin6=6.0.1-1+cuda10.1

Ubuntu 16.04(TensorFlow 1.13.0 이전 버전의 경우 CUDA 9.0)

# Add NVIDIA package repository
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
sudo apt install ./cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
wget http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt install ./nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt update

# Install the NVIDIA driver
# Issue with driver install requires creating /usr/lib/nvidia
sudo mkdir /usr/lib/nvidia
sudo apt-get install --no-install-recommends nvidia-410
# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install CUDA and tools. Include optional NCCL 2.x
sudo apt install cuda9.0 cuda-cublas-9-0 cuda-cufft-9-0 cuda-curand-9-0 \
    cuda-cusolver-9-0 cuda-cusparse-9-0 libcudnn7=7.2.1.38-1+cuda9.0 \
    libnccl2=2.2.13-1+cuda9.0 cuda-command-line-tools-9-0

# Optional: Install the TensorRT runtime (must be after CUDA install)
sudo apt update
sudo apt install libnvinfer4=4.1.2-1+cuda9.0

Windows 설정

위에 나열된 하드웨어 요구사항소프트웨어 요구사항을 참조하세요. Windows용 CUDA® 설치 가이드를 참조하세요.

설치된 NVIDIA 소프트웨어 패키지가 위에 나열된 버전과 일치하는지 확인합니다. 특히 cuDNN64_7.dll 파일이 없으면 TensorFlow가 로드되지 않습니다. 다른 버전을 사용하려면 소스에서 Windows 빌드 가이드를 참조하세요.

CUDA, CUPTI 및 cuDNN 설치 디렉터리를 %PATH% 환경 변수에 추가합니다. 예를 들어 CUDA Toolkit이 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1에 설치되고 cuDNN이 C:\tools\cuda에 설치된 경우 다음과 일치하도록 %PATH%를 업데이트합니다.

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\libx64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%