uni memo

強化学習フレームワークgoogle dopamineインストール、テストまで

強化学習フレームワークgoogle dopamineインストール、テストまで

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
で20分位かかった

結果

tensorboardでログをみてみる

base_dirに設定したディレクトリにログやチェックポイントが入っている

ls /tmp/dopamine
checkpoints  events.out.tfevents.xxxx  logs
tensorboard --logdir=/tmp/dopamine

http://localhost:6006 にアクセスすると

表示される。全然学習進んでない AverageReturnsは報酬の平均で、NumEpisodesはエピソードの回数っぽい そのままですが

触ってみた感じ、DQNなどの強化学習のアルゴリズムが簡単に呼び出せるのはわかった 解きたい問題(エージェントと報酬?)を自分で設定するには強化学習の知識が、用意してあるサンプルをいじるにはgymについて知らなければなさそう

参考

2024, Built with Gatsby. This site uses Google Analytics.