2

我正在使用 rllib/ray 在多代理环境中使用 PPO 算法训练几个代理。我正在使用ray.tune()命令来训练代理,然后从~/ray_results. 该数据包含代理在每个训练集中选择的动作,但我还需要相应的代理奖励。我查看了文档,但似乎没有允许保存剧集奖励的配置参数。有没有人有解决方法?

4

3 回答 3

1

您需要将这些值添加到 info dict 中,然后它将被 ray tune 收集。

于 2021-07-12T09:13:06.233 回答
0

你检查progress.csvresult.json?可以在此处找到每个情节中每个代理的奖励详细信息。

于 2021-07-01T22:00:25.773 回答
0

默认情况下,情节奖励result.json是每情节所有代理奖励的平均值之和,策略奖励将是分配给该策略的所有代理奖励的平均值。2 个代理的示例:

"hist_stats": {
    "episode_reward": [527.0, 399.0, 165.0, 8.0, 268.0, 138.0, 154.0, 846.0],
    "episode_lengths": [50, 50, 50, 50, 50, 50, 50, 50],
    "policy_0_reward": [0.0, 0.0, 0.0, 8.0, 240.0, 138.0, 0.0, 0.0],
    "policy_1_reward": [527.0, 399.0, 165.0, 0.0, 28.0, 0.0, 154.0, 846.0]
},

但是,您可以做的是,相应地更改 summarise_episodes 函数metrics.py

于 2021-07-02T08:35:39.627 回答