Windows 10でtensorflow-gpuを使う方法

Windows 10でtensorflow-gpuを使う方法をご紹介します。

条件

  • Windows 10 64bit
  • GeForce GTX 1060
  • CUDA Toolkit 10.0 (Sept 2018)
  • Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0
  • Tensorflow-gpu 1.13.1
  • Python 3.7.0

インストール前に

TensorflowをGPUで使用する場合、様々なライブラリ等をインストールする必要があります。
しかも、各ソフトのバージョン組合せが重要で、少しでも組合せに誤りがあると以下のようなエラーが出て動作しません。

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

エラー内容を見ても対応がわからないため、とても多くの人が当該エラーではまっているようです。

今回は、現時点(2019/6/17)で動作確認できた、それなりにバージョンが新しい組合せをご紹介します。

  • CUDA Toolkit 10.0 (Sept 2018)
  • Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0
  • Tensorflow-gpu 1.13.1
  • Python 3.7.0(おそらく3.7のより新しいバージョンでもOK)

TensorFlowのGPUサポートに必要な条件

以下のサイトより、いくつかのソフトが必要となります。

https://www.tensorflow.org/install/gpu#software_requirements

NVIDIA GPU drivers

通常、当該ドライバはインストール済みのはずなので、この手順は不要です。
必要に応じてインストールしてください。

ダウンロード

以下のサイトから対応するドライバをダウンロードします。

https://www.nvidia.co.jp/Download/index.aspx?lang=jp

インストール

インストーラに沿ってインストールを行います。
詳細は割愛します。

CUDA Toolkit

ダウンロード

以下のサイトから対応するインストーラ(10.0)をダウンロードします。

https://developer.nvidia.com/cuda-downloads

https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10

ちなみに、10.1をインストールした場合、tensorflowの動作確認で以下のエラーになりました。

ImportError: DLL load failed: 指定されたモジュールが見つかりません。

インストール

インストーラに沿ってインストールを行います。
詳細は割愛します。

CUPTI

CUDA Toolkitのインストーラによってインストールされます。
特に何もする必要はありません。

cuDNN SDK

ダウンロード

以下のサイトからインストーラをダウンロードします。

https://developer.nvidia.com/cudnn

Dwonload cuDNNを選択します。

Membership Requiredとなるので登録を行います。

登録後、ダウンロード画面が表示されます。
先ほどインストールしたCUDAのバージョンと対応するものを選択します。
(「Download cuDNN v7.6.0 (May 20, 2019), for CUDA 10.0」の「cuDNN Library for Windows 10」を選択します。)

解凍&配置

ダウンロードした「cudnn-10.0-windows10-x64-v7.6.0.64.zip」を解凍して任意の場所に配置します。

今回は、以下のパスに配置しました。

C:\tools\cuda

パスの設定

パスの設定を行います。

以下の画面を開きます。
コントロール パネル > システムとセキュリティ > システム

システムの詳細設定を選択し、システムのプロパティ画面を開きます。

環境変数ボタンを押して環境変数画面を開き、ユーザーの環境変数で「Path」を選択した状態で編集ボタンを押します。

新規ボタンを押して、以下4つのパスを追加します。
(環境に応じて変更してください。)

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\lib64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
C:\tools\cuda\bin

OKボタンを押して各画面を閉じます。

tensorflow-gpuのインストール

コマンドプロンプトにて、以下のコマンドでインストールを行います。

> pip install tensorflow-gpu==1.13.1

動作確認

tensorflow-gpu

コマンドプロンプトを起動し、pythonのコンソールで以下を実行します。

import tensorflow as tf
print(tf.__version__)

「1.13.1」とtensorflow-gpuのバージョンが表示されれば成功です。

GPUの認識

pythonのコンソールで以下を実行します。

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

以下のように、「GPU」の項目が出力されていれば成功です。

>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
2019-06-17 15:48:42.948205: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-06-17 15:48:43.988288: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: GeForce GTX 1060 with Max-Q Design major: 6 minor: 1 memoryClockRate(GHz): 1.3415
pciBusID: 0000:01:00.0
totalMemory: 6.00GiB freeMemory: 4.97GiB
2019-06-17 15:48:43.997414: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-06-17 15:48:46.267386: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-06-17 15:48:46.272622: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-06-17 15:48:46.275699: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-06-17 15:48:46.281815: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/device:GPU:0 with 4716 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 with Max-Q Design, pci bus id: 0000:01:00.0, compute capability: 6.1)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 3018810256423696574
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 4945621811
locality {
  bus_id: 1
  links {
  }
}
incarnation: 16169790953990630209
physical_device_desc: "device: 0, name: GeForce GTX 1060 with Max-Q Design, pci bus id: 0000:01:00.0, compute capability: 6.1"
]
>>>

参考

TensorFlow:GPU support

https://www.tensorflow.org/install/gpu

NVIDIA:ドライバダウンロード

https://www.nvidia.co.jp/Download/index.aspx?lang=jp

CUDA Toolkit Archive

https://developer.nvidia.com/cuda-toolkit-archive

NVIDIA:NVIDIA cuDNN

https://developer.nvidia.com/cudnn

CUDA Installation Guide for Microsoft Windows

https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/

Installing Tensorflow with CUDA, cuDNN and GPU support on Windows 10

https://towardsdatascience.com/installing-tensorflow-with-cuda-cudnn-and-gpu-support-on-windows-10-60693e46e781

Win10: ImportError: DLL load failed: The specified module could not be found

https://github.com/tensorflow/tensorflow/issues/22794

Windows 10でtensorflow-gpuを使う方法” に対して2件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です