备注
Ray 2.10.0 引入了 RLlib 的“新 API 栈”的 alpha 阶段。Ray 团队计划将算法、示例脚本和文档迁移到新的代码库中,从而在 Ray 3.0 之前的后续小版本中逐步替换“旧 API 栈”(例如,ModelV2、Policy、RolloutWorker)。
然而,请注意,到目前为止,只有 PPO(单代理和多代理)和 SAC(仅单代理)支持“新 API 堆栈”,并且默认情况下继续使用旧 API 运行。您可以继续使用现有的自定义(旧堆栈)类。
请参阅此处 以获取有关如何使用新API堆栈的更多详细信息。
重放缓冲区 API#
以下类没有考虑不同策略之间的经验分离,多智能体回放缓冲区将在下面进一步解释。
重放缓冲区基类#
指定如何在 ReplayBuffer 中组织批次。 |
|
RLlib 使用的最低级别重放缓冲区接口。 |
|
这个缓冲区实现了优先经验回放。 |
|
此缓冲区实现了水库采样。 |
公共方法#
从该缓冲区中采样 |
|
将一批经验或其他数据添加到此缓冲区。 |
|
返回字典中的所有本地状态。 |
|
将所有本地状态恢复到提供的 |
多智能体缓冲区#
以下类使用上述的“单一代理”缓冲区作为底层缓冲区,以便在不同代理的策略之间分割经验。在多代理强化学习中,环境中存在多个代理,并且并非所有这些代理都可能使用相同的策略(将M个代理映射到N个策略,其中M <= N)。这就导致了需要MultiAgentReplayBuffers来分别存储不同策略的经验。
用于多智能体设置的重放缓冲区分片。 |
|
用于多智能体设置的优先回放缓冲区分片。 |
实用方法#
根据训练结果更新优先回放缓冲区中的优先级。 |
|
从给定的回放缓冲区中采样最少 n 个时间步。 |