我正在使用 Ray/RLLib 的 APEX-DQN 代理(AsyncReplayOptimizer)。我想用一些小插曲数据 info["episode"].user_data从回调on_episode_end(info)改变info["result"]的字典on_train_result(info)。有没有办法做到这一点?由于info两个回调的对象输出非常不同。on_episode_end(info):给出“env”和“episode”on_train_result(info):给出“agent”和“result”来自的“结果”on_train_result(info)并没有提供关于所运行剧集的太多信息。我觉得奇怪的是“结果”只提供了类似的信息'result':{ 'episode_reward_max':13010.0, 'episode_reward_min':12150.0, 'episode_reward_mean':12580.0, 'episode_len_mean':50.0, 'episodes_this_iter':2, 'episodes_total':2, ...}没有任何关于剧集 ID 的信息。如果有剧集 ID,也许我可以尝试将两个回调链接在一起。
1 回答

九州编程
TA贡献1785条经验 获得超4个赞
问题是结果是不同机器上许多不同剧集的摘要,因此无法访问剧集信息。在 on_episode_end 回调中,您可以将指标保存到 episode.custom_metrics 中,这些将显示在结果对象中。
https://ray.readthedocs.io/en/latest/rllib-training.html#callbacks-and-custom-metrics
添加回答
举报
0/150
提交
取消