dopamineとはgoogleが開発したtensorflowベースの強化学習のフレームワークのこと
インストールして、サンプルを実行するまで書いておく
環境
- ubuntu: 16.04
- python: 3.6.2
インストール
https://github.com/google/dopamine#ubuntu readme通りにやる
sudo apt-get install cmake zlib1g-dev
pip install absl-py atari-py gin-config gym opencv-python tensorflow
インストールは多少時間がかかる
実際はcondaでpython環境を切り替えてインストールした (conda導入参考)Anaconda で Python 環境をインストールする
テスト実行
https://github.com/google/dopamine#running-tests この辺を試す
git clone https://github.com/google/dopamine.git
cd dopamine
- テスト
python tests/atari_init_test.py
...
----------------------------------------------------------------------
Ran 2 tests in 1.227s
OK
- 学習
デフォルトだと学習回数が多く、学習が終わらなかったため、減らして試した
dopamine/agents/dqn/configs/dqn.gin
...
# デフォルト
#Runner.num_iterations = 200
#Runner.training_steps = 250000 # agent steps
#Runner.evaluation_steps = 125000 # agent steps
#Runner.max_steps_per_episode = 27000 # agent steps
# 変更後
Runner.num_iterations = 20
Runner.training_steps = 2500 # agent steps
Runner.evaluation_steps = 1250 # agent steps
Runner.max_steps_per_episode = 270 # agent steps
...
python dopamine/atari/train.py --agent_name=dqn --base_dir=/tmp/dopamine --gin_files='dopamine/agents/dqn/configs/dqn.gin'
...
I0901 16:37:01.021769 140188683487040 tf_logging.py:115] Starting iteration 19
I0901 16:37:14.059587 140188683487040 tf_logging.py:115] Average undiscounted return per training episode: -5.40
I0901 16:37:14.059731 140188683487040 tf_logging.py:115] Average training steps per second: 207.09
I0901 16:37:16.940357 140188683487040 tf_logging.py:115] Average undiscounted return per evaluation episode: -6.00
GeForce GTX 1050
結果
tensorboardでログをみてみる
base_dirに設定したディレクトリにログやチェックポイントが入っている
ls /tmp/dopamine
checkpoints events.out.tfevents.xxxx logs
tensorboard --logdir=/tmp/dopamine
http://localhost:6006 にアクセスすると
表示される。全然学習進んでない AverageReturnsは報酬の平均で、NumEpisodesはエピソードの回数っぽい そのままですが
触ってみた感じ、DQNなどの強化学習のアルゴリズムが簡単に呼び出せるのはわかった 解きたい問題(エージェントと報酬?)を自分で設定するには強化学習の知識が、用意してあるサンプルをいじるにはgymについて知らなければなさそう