Googleは、黒人コミュニティのための人種的衡平の促進に取り組んでいます。 方法をご覧ください。

GPU サポート

TensorFlow の GPU サポートには、各種ドライバやライブラリが必要です。インストールを簡略化し、ライブラリの競合を避けるため、GPU サポートを含む TensorFlow の Docker イメージ(Linux 用のみ)を使用することをおすすめします。その場合セットアップに必要なのは NVIDIA® GPU ドライバだけです。

下記のインストール手順は TensorFlow の最新リリースを対象としています。TensorFlow の以前のリリースで使用する CUDA や cuDNN のバージョンについては、テスト済みのビルド構成をご確認ください。

pip パッケージ

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 が使用できる以下のデバイスに対応しています。

ソフトウェア要件

以下の NVIDIA® ソフトウェアをシステムにインストールする必要があります。

  • NVIDIA® GPU ドライバ - CUDA 10.1 では 418.x 以降が必要です。
  • CUDA® ツールキット - TensorFlow は CUDA 10.1 に対応しています(TensorFlow は 2.1.0 以降)。
  • CUPTI は CUDA ツールキットに同梱されています。
  • cuDNN SDK(7.6 以降)
  • (省略可)TensorRT 6.0 は一部のモデル上での推論のレイテンシとスループットを改善します。

Linux でのセットアップ

下記の apt に関する手順は、必須の NVIDIA ソフトウェアを Ubuntu 上にインストールする最も簡単な方法です。ただし、TensorFlow をソースからビルドする場合は、上記のソフトウェア要件のとおりに手動でインストールします。さらに、-develTensorFlow Docker イメージをベースとして使用することをご検討ください。

CUDA® ツールキットに付属する CUPTI をインストールします。インストール先のディレクトリを $LD_LIBRARY_PATH 環境変数に追加します。

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

CUDA Compute Capability が 3.0 の GPU や、バージョンが異なる NVIDIA ライブラリの場合は、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(CUDA 9.0、TensorFlow 1.13.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 ツールキットを 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%