GPU 支援

TensorFlow GPU 支援需要各種驅動程式和程式庫。為簡化安裝作業並避免發生程式庫衝突,建議你使用支援 GPU 的 TensorFlow Docker 映像檔 (僅限 Linux)。這樣只需要 NVIDIA® GPU 驅動程式即可完成設定。

下列安裝操作說明適用於最新版本的 TensorFlow。請參閱 CUDA® 和 CuDNN 版本經過測試的建構設定,瞭解如何與舊版 TensorFlow 搭配使用。

pip 套件

請參閱 pip 安裝指南,瞭解可用的套件、系統需求和相關操作說明。TensorFlow pip 套件包含採用 CUDA® 技術的顯示卡 GPU 支援:

pip install tensorflow

本指南涵蓋最新 TensorFlow 穩定版的 GPU 支援和安裝步驟。

舊版 TensorFlow

1.15 以下版本的 CPU 和 GPU 套件各自獨立:

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

硬體需求

支援採用以下 GPU 的裝置:

  • 採用 CUDA® 架構 3.5、5.0、6.0、7.0、7.5、8.0 以上版本的 NVIDIA® GPU 顯示卡。請參閱採用 CUDA® 技術的 GPU 顯示卡清單。
  • 如要瞭解哪些 GPU 採用不支援的 CUDA® 架構、如何避免透過 PTX 進行 JIT 編譯作業,以及如何使用不同版本的 NVIDIA® 程式庫,請參閱從原始碼開始建構 (適用於 Linux) 指南。
  • 除了最新支援的 CUDA® 架構之外,套件不包含任何 PTX 程式碼。因此,如果設定了 CUDA_FORCE_PTX_JIT=1,就無法在舊版 GPU 上載入 TensorFlow。詳情請參閱應用程式相容性

軟體需求

您的系統上必須安裝下列 NVIDIA® 軟體:

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

使用 apt 安裝 CUDA

本節說明如何在 Ubuntu 16.04 和 18.04 上安裝 CUDA® 11 (TensorFlow 2.4.0 以上版本)。以下操作說明可能也適用於其他以 Debian 為基礎的發行版本。

Ubuntu 18.04 (CUDA 11.0)

# Add NVIDIA package repositories
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
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

wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt-get update

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-11-0 \
    libcudnn8=8.0.4.30-1+cuda11.0  \
    libcudnn8-dev=8.0.4.30-1+cuda11.0

# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install TensorRT. Requires that libcudnn8 is installed above.
sudo apt-get install -y --no-install-recommends libnvinfer7=7.1.3-1+cuda11.0 \
    libnvinfer-dev=7.1.3-1+cuda11.0 \
    libnvinfer-plugin7=7.1.3-1+cuda11.0

Ubuntu 16.04 (CUDA 11.0)

# 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-ubuntu1604.pin
sudo mv cuda-ubuntu1604.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/ /"
sudo apt-get update
wget https://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
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt install ./libnvinfer7_7.1.3-1+cuda11.0_amd64.deb
sudo apt-get update

# Install development and runtime libraries (~4GB)
sudo apt-get install --no-install-recommends \
    cuda-11-0 \
    libcudnn8=8.0.4.30-1+cuda11.0  \
    libcudnn8-dev=8.0.4.30-1+cuda11.0


# Reboot. Check that GPUs are visible using the command: nvidia-smi

# Install TensorRT. Requires that libcudnn7 is installed above.
sudo apt-get install -y --no-install-recommends \
    libnvinfer7=7.1.3-1+cuda11.0 \
    libnvinfer-dev=7.1.3-1+cuda11.0 \
    libnvinfer-plugin7=7.1.3-1+cuda11.0 \
    libnvinfer-plugin-dev=7.1.3-1+cuda11.0

Windows 設定

請參閱上述硬體需求軟體需求,以及適用於 Windows 的 CUDA® 安裝指南

確認您已安裝符合上述版本的 NVIDIA 軟體套件。請特別注意,如果沒有 cuDNN64_8.dll 檔案,TensorFlow 就不會載入。如要使用其他版本,請參閱從原始碼開始建構 (適用於 Windows) 指南。

請將 CUDA®、CUPTI 和 cuDNN 安裝目錄新增至 %PATH% 環境變數中。舉例來說,如果 CUDA® Toolkit 已安裝至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0,且 cuDNN 已安裝至 C:\tools\cuda,請更新 %PATH% 以符合:

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\extras\CUPTI\lib64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include;%PATH%
SET PATH=C:\tools\cuda\bin;%PATH%