Tensorflow GPU版 + Keras + OpenCV ver3.0の環境構築

最近TF1.7もリリースされ、そろそろCUDA9.0にアップデートしないといけないと思っていたので、復習も兼ねてTensorflowの環境構築方法をまとめました。(2018年4月現在の情報)

OS: Windows10Pro, 64bit

1) Tensorflow GPU版のためのCUDA環境の構築

まずは、NVIDIAのサイトからインストールガイドを表示して熟読する
インストールガイドは以下のcudnnのダウンロードサイトからcuDNN Install Guideをクリックすることで閲覧できる
https://developer.nvidia.com/rdp/cudnn-download

GPUドライバーを最新のものに更新
http://www.nvidia.co.jp/Download/index.aspx?lang=jp

CUDA Toolkit 9.0 Downloads のイントール
最新は9.1だが以下のサイトから9.0をダウンロード
https://developer.nvidia.com/cuda-toolkit-archive
Patch 1 (Released Jan 25, 2018)
Patch 2 (Released Mar 5, 2018)
を順にあてる
nvcc --version
で確認
Cuda compilation tools, release 9.0, V9.0.176
となっているので成功していることがわかる

cuDNNのダウンロードとインストール
cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0を選択
https://developer.nvidia.com/rdp/cudnn-download
ダウンロードしたcudnn-9.0-windows10-x64-v7.zipを解凍してインストールガイド通りにファイルをコピーしました.

2) anacondaの仮想環境を構築
> conda create -n tensorflowGPUKerasOpneCV python=3.5 anaconda
pythonのバージョンを3.5にした理由はopenCVが3.5にしか対応していないからです。

3) opneCV ver.3.0のインストール
> conda install -c menpo opencv3

4) Gpu版tensorflowのインストール
> pip install tensorflow-gpu
 tensorflow GPU版 ver. 1.7.0のインストール

5) その他必要なモジュールのインストール
> conda install h5py
> conda install matplotlib
> conda install scikit-learn

6) Kerasのインストール
pip install keras


7) 正しくインストールできたかどうかのテスト

tensorflowを実行すると
ー> "could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED"
が出たのでcuDNNのバージョンを変えてみる
Download cuDNN v7.0.4 (Nov 13, 2017), for CUDA 9.0
だめなのでもう一度
pip install --ignore-installed --upgrade tensorflow-gpu
をやってみたら問題は解決しました。

ちなみにCPU版では

1) conda create -n tensorflowCPUKerasOpneCV python=3.5 anaconda
2) conda install -c menpo opencv3
3) pip install tensorflow
4) pip install keras
5) その他必要なモジュールのインストール
> conda install h5py
> conda install matplotlib
> conda install scikit-learn

juypter notebookを使うときは
> conda install jupyter notebook
も忘れないように

(参考)
OSError: Unable to open file (unable to open file: name =
というエラーが出るとき、
C:\Users\username\.keras\datasets に残っている以前ダウンロードしたデータをいったん消去すれば解決することがあるようです