前置き
思いの外ハマるので備忘録として残す。
公式:https://www.tensorflow.org/install/gpu
お世話になったサイト
http://cookie-box.hatenablog.com/entry/2018/09/19/201044
https://qiita.com/fulcrum/items/ad6719d47b5c33ded241
https://github.com/tensorflow/tensorflow/issues/22794
https://qiita.com/ozaki_physics/items/985188feb92570e5b82d
解説
言ってしまえばなんのことはなく、バージョン不一致だとNGなので必ず同じバージョンを利用する必要がある、というだけの話。指定より新しいバージョンでは駄目で、必ず指定バージョンを利用すること。2018年12月現在、Tensorflowのバージョンはtensorflow_gpu-1.12.0である。
現時点では、以下のバージョンが最新として利用できる。
* CUDA Toolkit 9.0
* cuDNN v7.4 for CUDA 9.0
この辺は好きなもので良さそう。
* NVIDIA GPU drivers
* VC++2015再配布パッケージ(Windows版)
時期が変わればバージョンも変わると思うが、大事なのは公式で記載しているバージョンと同じものを用意すること。後方互換性がないため上位バージョンがNG、という話。
最新のAnacondaはPythonは3.7だが、Pythonは3.7だとNGなので、仮想環境で3.6を用意するといい。
以下の構文をAnaconda Promptで実行する。なお「tf-gpu」が仮想環境名となる。
conda create -y -n tf-gpu pip python=3.6 anaconda
activate tf-gpu
conda install -y -c aaronzs tensorflow-gpu
conda install -y -c anaconda cudatoolkit
conda install -y -c anaconda cudnn
conda install -y keras-gpu
そして、そのままインタラクティブモードを起動して動作確認をする。
python
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
結果にGPUが表示されたらOKとなる。
上手くできなかったら一回削除してやり直すと吉。
conda remove -n tf-gpu --all