NVIDAのグラフィックボードを積んだPCがあるので、kerasやtensorflow をgpuで動かしたいと思っていたのですが、開発環境を作るのがたいへんですね。

バージョンの組み合わせとか、もうおまじないのレシピみたいです。

windowsで何とかできたので覚書。金子邦彦研究室のサイトがとても参考になりました。ありがとうございました。

インストールしたものの最終的なバージョンのまとめ
OS: windows 10 pro
cuda 10.1
cuDNN 7.6.5
conda 4.8.3
python 3.7
tensorflow-gpu 2.1.0
keras 2.4.3  –> 2.3.1 (2020/8/31変更)
gym 0.17.2
keras-rl 0.4.2
keras-rl2 1.0.4

GPU基本環境(GPU使用しないならスキップ)

NVIDIAドライバ インストール

NVIDIA公式ページ参照

NVIDIA CUDAツールキット 10.1 のインストール

金子邦彦研究室NVIDIA CUDA ツールキット 10.1,10.0 のインストール(Windows 上)参照

バージョン確認はコマンドプロンプトから

NVIDIA cuDNN インストール

金子邦彦研究室 NVIDIA cuDNN 7 のインストール(Windows 上)参照
Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.1
展開して既存のフォルダにコピー。
バージョンは、7.6.5

Anaconda で仮想環境を作りtensorflow-gpu/tensorflow をインストール

pythonとパッケージのバージョン管理をするには、windows だったらconda がよさそうです。以下を参考にしました。

Anaconda 3 2020年2月版(Python 開発環境)と人工知能フレームワーク類のインストール(Windows 上)

 

バージョン確認はコマンドプロンプトから

Anaconda prompt を管理者権限で開いて、以下のコマンドでcondaのパッケージの更新と古いパッケージの削除。

※ -y のオプションを入れると y/n が出ないですむ。
例:conda clean -y –packages

仮想環境作成。py37tf21という仮想環境名にした場合。python3.7で作成(python3.8ではうまくいきませんでした)。

仮想環境をアクティベートして、tensorflow-gpuをinstall。

確認。

強化学習環境を整える

Keras, openaiGym, keras-rl のインストール。gym とkeras-rlは、conda では入らないですね。pipで入れました。

この最後のkeras-rl2というのが重要で、これがないとサンプルプログラムが動きませんでした。

gym とは、OpenAI Gym のことで、強化学習の様々な環境がそろっているすごいライブラリです。
github はこちら

keras-rlというのは、OpenAI Gym と動かすことができるDQNなどの深層強化学習モデルです。自分でモデルを簡単に改良できます。
githubはこちら

これで、keras-rl のguthub のexamplesの、dqn_cartpole.py, dqn_pendulum.pyのどちらも動きました。

ただし、

のkerasの初めに以下のようにtensorflow.をつける修正が必要です。

以下、棒立てのデモ、dqn_cartpole.py です。モデルの部分はすぐに改良できそうですね。