0

我正在使用 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,也许我可以尝试将两个回调链接在一起。

4

1 回答 1

0

问题是结果是不同机器上许多不同剧集的摘要,因此无法访问剧集信息。在 on_episode_end 回调中,您可以将指标保存到 episode.custom_metrics 但是,这些将显示在结果对象中。

https://ray.readthedocs.io/en/latest/rllib-training.html#callbacks-and-custom-metrics

于 2019-02-22T01:47:32.040 回答