Windows10にTensorFlow GPUとKerasをインストールする

2018/12/11時点の情報ですので、情報が古い可能性があります。

PythonとKerasによるディープラーニングを買いました。

https://book.mynavi.jp/ec/products/detail/id=90124

書籍内でUnixマシンが推奨されてますが、Windowsで環境構築を行いました。

環境構築の前にTensorFlowのGPU supportのHardware requirementsとSoftware requirementsの一読をおすすめします。

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

また、環境構築の手順はこちらのページが非常に参考になりました。

https://ossyaritoori.hatenablog.com/entry/2018/03/27/Keras_%26_Tensorflow_%28GPU%E6%9C%89%29%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89_on_Windows_with_Anaconda

PC環境

  • Windows10 Home 64bit
  • GeForce GTX 1080
  • Anaconda 4.4.0 Python3.6 Version
  • Python3.6.7

手順

グラフィックボードの確認

グラフィックボードの種類を確認します。こちらのフリーソフトを利用して確認しました。

https://www.cpuid.com/softwares/cpu-z.html

こちらのソフトを起動して、GraphicsタブのDisplay Device Selectionに利用しているグラフィックボードの名前が表示されます。

TensorFlowで使用できるグラフィックボードはCompute Capability 3.5以上のものが必要です。 自分が使用しているグラフィックボードのCompute CapabilityはCUDA GPUsで確認できます。

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

必要なソフトのインストール

GPUドライバーを最新のものに更新します。

https://www.nvidia.com/Download/index.aspx?lang=en-us

仮想環境でTensorFlowとKerasを使用するので、Anacondaもインストールします。

https://www.anaconda.com/download/

CUDA ToolkitでVisual Studioの機能を利用しているようなのでVisual Studioも事前にインストールしておきます。
個人利用なのでVisual Studio Community2017をインストールしました。

https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2017

CUDA Toolkitをインストールします。
最新版のバージョンは10.0ですが、TensorFlowは9.0対応なのでCUDA Toolkit9.0をインストールします。
9.0インストール後、patchも1から4までダウンロードしてインストールします。

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

CUDA9.0用のcuDNN 7.4をダウンロードします。
cuDNNのダウンロードには、NVIDIA Developer Programに登録する必要があります。

https://developer.nvidia.com/cudnn

cuDNNのzipファイルを解凍し、出てきたcudaフォルダをC:\toolsに移動します。

コマンドプロンプトに以下のコマンドを入力して環境変数のPathにフォルダを追加します。

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

Pathが追加されているか、こちらの方法でシステム環境変数のPathを選択し編集ボタンを押すと確認できます。
【Windows 11対応】Path環境変数を設定/編集して、独自のコマンドを実行可能にする

Anacondaで仮想環境の構築

TensorFlowはPython3.xでは3.4, 3.5, 3.6に対応しています。

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

今回はPython3.6.7で仮想環境を構築します。

Anaconda Promptを起動して、下記のコマンドを入力して仮想環境を作成します。
仮想環境の名前はkeras-deeplearningにしています。

conda create -n keras-deeplearning python=3.6

作成した環境をactivateします。

activate keras-deeplearning

tensorflow-gpuをpipでインストールします。

pip install tensorflow-gpu

以下のPythonコードを実行してエラーがでなければインストール成功です。
コードを実行するとtensorflow-gpu最新バージョンの1.12.0が表示されます。

import tensorflow as tf

print(tf.__version__)

Kerasをpipでインストールします。

pip install keras

MNISTでKerasの動作確認

KerasのMNISTのサンプルコードを動かします。

https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py

初回はMNISTデータをダウンロードするので、数分かかります。
データダウンロード完了後、処理を実行します。GPUを使用した処理時間は約1分ほどでした。

GPUとCPUの処理速度の比較

GPUを利用した処理時間が約1分ほどだったので、CPUのみの処理時間と比較してみました。

Anacondaで別の仮想環境を作成します。
pip install tensorflowでCPUのみで処理を行うTensorFlowをインストールできます。

conda create -n keras-cpu-test python=3.6
activate keras-cpu-test
pip install tensorflow
pip install keras

上記の仮想環境でMNISTのコードを実行したところ、処理時間は約15分でした。
GPUバージョンは、かなり処理速度が速いことが確認できました。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。