我正在使用一个名为 FLOW RL 的框架。它使我能够将 rllib 和 ray 用于我的 RL 算法。我一直在尝试在张量板上绘制非学习数据。在 ray 文档(链接)之后,我尝试添加自定义指标。因此,我需要使用由on_episode_step(info)
. 这本字典中应该有一个“情节”元素。这让我可以访问我的自定义标量。但是,每次我尝试访问剧集元素时,都会出现错误,因为它在 info dict 中不存在。这是正常的吗?
文件“examples/rllib/newGreenWaveGrid2.py”,第 295 行,on_episode_start episode = info["episode"] KeyError: 'episode'
def on_episode_step(info):
episode = info["episode"]
whatever = abs(episode.last_observation_for()[2])
episode.user_data["whatever"].append(whatever)
if __name__ == '__main__':
alg_run, gym_name, config = setup_exps()
ray.init(num_cpus=N_CPUS + 1, redirect_output=False)
trials = run_experiments({
flow_params['exp_tag']: {
'run': alg_run,
'env': gym_name,
'config': {
**config,
'callbacks': {
"on_episode_start": on_episode_start,
"on_episode_step": on_episode_step,
"on_episode_end": on_episode_end,
}
},
'checkpoint_freq': 20,
'max_failures': 999,
'stop': {
'training_iteration': 200,
},
},
})