On suppose que vous avez terminé le renforcement de l'apprentissage 8.
Dans Strengthening Learning 8, l'interface utilisateur de Chainer a été remodelée. C'est bien, mais cette fois je ferai la même chose avec ChainerRL.
Premier, userFolder/anaconda3/envs/chainer/lib/python3.7/site-packages/chainerrl/experiments/evaluator.py Modifiez la 31e ligne de.
Changer avant
_basic_columns = ('steps', 'episodes', 'elapsed', 'mean',
'median', 'stdev', 'max', 'min')
Après le changement
_basic_columns = ('step', 'episode', 'elapsed_time', 'mean',
'median', 'stdev', 'max', 'min')
Cela changera l'en-tête scores.txt afin que vous n'ayez pas besoin de changer le ChainerRL.
l'autre est, userFolder / anaconda3 / envs / chainer / lib / python3.7 / site-packages / chainerrl / experiences / train_agent.py Ajoutez-le à la fin de la fonction def train_agent_with_evaluation à la ligne 93. Puisque python fonctionne avec l'indentation, vous devez faire attention à l'indentation.
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)
Ajoutez également l'importation.
import json
import csv
Si vous le remodelez, vous pouvez facilement le voir sur l'interface utilisateur normale de Chainer, donc j'espère que la famille de tête de chainer RL le soutiendra également. Étant donné que les fenêtres sont un peu différentes, je les écrirai ensemble dans Enhanced Learning 12.
Recommended Posts