tensorboard - 无法在 ray 中定义自定义指标
问题描述
我正在使用一个名为 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,
},
},
})
解决方案
推荐阅读
- javascript - 以角度计算子对象中变量的出现次数
- c# - 除非重新定义行中的所有项目,否则 ObservableCollection 不会更新到 DataGrid 行
- php - PHP Zip 无法关闭()
- laravel - 在一对多的关系中删除模型的关系并重新定义关系是执行更新的最佳方法吗?
- c# - AspNet Core 3 HttpClientFactory:TaskCanceledException
- esp8266 - 将:timeinfo = localtime(&now) 转换为 24Hr,然后提取 tm_hour,C/C++。语法帮助
- java - 将字符串匹配到多个正则表达式模式并返回组号
- java - 改造后第一次没有收到响应
- azure-table-storage - 数据工厂 v2 使用函数 addmonths() 将查询添加到表存储
- ruby - 为什么字符串“xabcx”在我的方法中以回文形式返回?(红宝石)