我正在使用rllib/ray在多代理环境中使用PPO算法训练几个代理。我使用ray.tune()命令训练代理,然后从~/ray_results加载训练数据。此数据包含代理在每个训练场景中选择的操作,但我还需要相应的代理奖励。我已经看过文档了,但似乎没有允许保存剧集奖励的配置参数。有谁有解决这个问题的办法吗?
发布于 2021-07-12 17:13:06
您需要将这些值添加到info dict中,然后它将通过ray tune收集。
发布于 2021-07-02 06:00:26
你查过progress.csv和result.json了吗?每一集每个代理的奖励细节都可以在那里找到。
发布于 2021-07-02 16:35:40
事件奖励result.json默认情况下是每集所有座席奖励的平均值之和,策略奖励将是分配给该策略的所有座席奖励的平均值。两个座席的示例:
"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]
},但是,您可以在metrics.py中相应地更改summarize_episodes函数
https://stackoverflow.com/questions/64833781
复制相似问题