Tensorflow Winows 版でも GPUを導入しました。

<<< ハードウェア >>>

ハード:マウスコンピューター LM-iH700B2N
CPU: IntelR Core? i3-8100 CPU @ 3.60GHz × 4
メモリ: 4 GByte
本体電源: 500W
グラフィックボード:NVIDIA GEFORCE GTX960 メモリ 4GB

OS: Windows 10 Home 64bit

(1) デバイスドライバー

システム > ディスプレイ > アダプターのプロパティ表示、「アダプタ」タブ

NVIDIA GeForce GTX 960 と表示されている。

プロパティ >ドライバ > ドライバの更新 >「ドライバの最新情報を自動検索」を選択。最新のドライバがダウンロードされる。

(2) GPU CUDA + cuDNN のインストール

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

CUDA関係のインストール
https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/
https://developer.nvidia.com/cuda-downloads

CUDA10 の Windows10 64bit を選択、cuda_10.0.130_win10_network.exe をダウンロード、起動。

Visual Studio が必要らしいので、VS Comminuty 2017 を

https://visualstudio.microsoft.com/ja/vs/community/ から、

vs_community__1677739048.1538213643.exe(.NETデスクトップ開発、C++によるデスクトップ開発、ユニバーサルプラットフォーム開発、Python開発、を選択)

をダウンロード、インストール後、CUDAをインストール。

cuDNNのダウンロードインストール。

https://developer.nvidia.com/cudnn(ログインが必要)

Download cuDNN v7.4.1 (Nov 8, 2018), for CUDA 10.0
cuDNN Library for Windows 10 を選択。

cudnn-10.0-windows10-x64-v7.3.1.20.zip

展開

参考:インストールガイド
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
パスを設定。
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

コピー
cuda\bin\cudnn64_7.dll を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin. へコピー
cuda\ include\cudnn.h を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include. へコピー
cuda\lib\x64\cudnn.lib を C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64. へコピー

(3) Anaconda インストール

ダウンロードサイト
https://www.anaconda.com/download/#windows
Anaconda 5.3.1 For Windows Installer > Python 3.7 version > 64-Bit Graphical Installer を選択

Anaconda3-5.3.1-Windows-x86_64.exe をダウンロード、起動。あとは、インストーラーの通り。

Anaconda Promptから仮想環境の作成

conda create -n tf python=3.6
conda activate tf

(4) Tensorflow GPU 版インストール

>pip install tensorflow-gpu

まず、pipでインストール(後述の通り、問題があったのでcondaでやりなおした。)

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

エラーが出たので、ネットで検索して解決策を探す。

参考
https://ja.stackoverflow.com/questions/42572/pillowのインポートができない-dll-load-failed-指定されたモジュールが見つかりません
https://game.g.hatena.ne.jp/Nao_u/20181104

conda install で、やりなおし

>conda install tensorflow-gpu

(再起動)
確認。
>python
Python 3.6.7 |Anaconda, Inc.| (default, Oct 28 2018, 19:44:12) [MSC v.1915 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import tensorflow
>>>

GPUの確認。

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

incarnation: 6008843322704657670
, name: “/device:GPU:0”
device_type: “GPU”
memory_limit: 3188244480
locality {
bus_id: 1
links {
}
}
incarnation: 15963565374841221333
physical_device_desc: “device: 0, name: GeForce GTX 960, pci bus id: 0000:01:00.0, compute capability: 5.2”

(5)TFlearn, Keras をインストール。

>pip install tflearn
>pip install keras

>>> import tflearn
・・・
curses is not supported on this machine (please install/reinstall curses for an optimal experience)
>>>

>>> import keras
Using TensorFlow backend.
>>>

kerasは、成功。TFlearn はライブラリが足りないようなので、
とりあえず、最低限必要な以下のライブラリをインストールしました。

conda install h5py
conda install scipy

cursesは、http://www.lfd.uci.edu/~gohlke/pythonlibs/#curses
からファイルcurses-2.2-cp36-cp36m-win_amd64.whlをダウンロードしてインストール
pip install curses-2.2-cp36-cp36m-win_amd64.whl

>>>import tflearn
>>>

(6) 動作確認
実行は、jupyter notebookを使用。

Anaconda3\envs\tf>に data/mnist/フォルダを作成
Anaconda3\envs\tf>conda activate tf
Anaconda3\envs\tf>jupyter notebook

「深層学習 TensorFlow を MNIST で試す」 のソースでテスト。

実行結果

learning start:2018-11-21 21:05:25.010808
learning end:2018-11-21 21:08:25.731633
predict start:2018-11-21 21:08:25.731633
predict end:2018-11-21 21:08:25.762890
[7 2 1 … 4 5 6]
[7 2 1 … 4 5 6]
0.9797

エラーなし。

「深層学習 Keras(TensorFlow用)のインストール」 のソースでテスト。

54000/54000 [==============================] – 1s 28us/step – loss: 0.2520 – acc: 0.9284 – val_loss: 0.1591 – val_acc: 0.9587
[7 2 1 … 4 5 6]
[7 2 1 … 4 5 6]
0.9475

エラーなし。

以上

【参考文献】このブログの参考書籍はこちらにまとめてあります。
http://www.ecobioinfo.com/?page_id=838

(2018/11/21 S.Onda)