0
1

More than 3 years have passed since last update.

強化学習9 ChainerRLの魔改造

Last updated at Posted at 2019-11-15

強化学習8まで終了していることが前提です。

強化学習8では、ChainerUIの魔改造をしました。
あれでもいいのですが、今回は、同じようなことをChainerRLでします。

まず、
userFolder/anaconda3/envs/chainer/lib/python3.7/site-packages/chainerrl/experiments/evaluator.py
の31行目を変更します。

変更前

_basic_columns = ('steps', 'episodes', 'elapsed', 'mean',
                  'median', 'stdev', 'max', 'min')

変更後

_basic_columns = ('step', 'episode', 'elapsed_time', 'mean',
                  'median', 'stdev', 'max', 'min')

これで、scores.txtのヘッダーが変更されるので、ChainerRLの変更は不要になります。

もう一つは、
userFolder/anaconda3/envs/chainer/lib/python3.7/site-packages/chainerrl/experiments/train_agent.pyの
93行目にあるdef train_agent_with_evaluationの関数末尾に追加します。pythonは、インデントで動くので、インデントに注意が必要です。

    json_list = []

    with open(os.path.join(outdir, 'scores.txt'), 'r') as f:
        for row in csv.DictReader(f,delimiter='\t'):
            for key in row:
                row[key]=float(row[key])
            json_list.append(row)
    with open(os.path.join(outdir, 'log'), 'w') as f:
        json.dump(json_list, f)

importも追加します。

import json
import csv

魔改造すると、ノーマルChainerUIで簡単に見ることができるので、chainerRL本家も対応してくれるといいなあ。
windowsは、少し違うので強化学習12にまとめて書きます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1