tensotflow-gpu on windows10

tensotflow-gpu を windows10 で動かすための環境構築に苦戦したので、現時点(2018/11/29)での構築手順を書き置きします。

先に書いておくと、ライブラリまわりのバージョンに注意する必要があります。また Tensorflow の公式リファレンスを読むと大体わかります。

環境

CUDA Toolkit 9.0 のインストール

CUDA は、NVIDIA製 の GPU を扱うライブラリです。バージョンが10.0 9.2 9.0とありますが、現在 Tensotflow-gpu が対応しているのは9.0です。なのでCUDA Toolkit 9.0をインストールします。

cuDNN for CUDA 9.0 のインストール

現在CUDA 9.0に対応しているcuDNN for CUDA 9.0を選びます。ここではcuDNN v7.2.1 Library for Windows10をインストールします。

cuDNNをダウンロードするためには NDIVIA のアカウントが必要になるので、適宜アカウントの作成・ログインをしてください。cuDNNがダウンロードできたら ZIP を解凍します。解凍したファルダ(おそらく「cuda」)の中にあるcuDNN64_7.dllを CUDA がインストールされているフォルダC:\Program Files\NVIDIA GPU Computing Toolkit\v9.0\binに転送します。これでcuDNNのインストールは完了です。

Anaconda 5.3.0 のインストール

まずはAnacondaをインストールします。

※私は scoop でインストールしました。

tensorflow-gpu 1.10.0 のインストール

tensotflow-gpu を使うためにはpython3.5.xを使う必要があります。今回はpython 3.5.6を利用します。まずAnaconda Navigatorを起動します。 左にある「Environments」を選び、下にある「Create」を選びます。Nameには好きな名前を入力します。ここでは「tensorflow-gpu」とします。 Packages のPython3.5にします。そうしたら「Create」をクリックします。次に Search Environments の隣にある項目を「All」にして、「Search Packages」にtensorflow-gpuと入力します。検索結果として出てきたtensorflow-gpuだけにチェックを入れ、右下の「Apply」をクリックします。これでインストールが完了するはずです。

インストールできたか確認する

まずは先ほど作成した環境で python を立ち上げます。「tensorflow-gpu 1.10.0 のインストール」で作成した Environment をクリックし選択します。出てきた再生ボタンから「Open Terminal」を選択します。cmd が立ち上がったら、pythonでインタプリンタ環境に移行します。以下のコードを入力して、状態を確認します。

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

そこでdevice_type: "GPU"というワードがあれば環境構築完了です。

例:

その他メモ

GPU driver のバージョンがアヤシイとき

requires 384.x or higher.

PATH が通ってなさそうなとき

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

GPU (グラフィックボード) が対応しているかアヤシイとき