备注

Ray 2.10.0 引入了 RLlib 的“新 API 栈”的 alpha 阶段。Ray 团队计划将算法、示例脚本和文档迁移到新的代码库中,从而在 Ray 3.0 之前的后续小版本中逐步替换“旧 API 栈”(例如,ModelV2、Policy、RolloutWorker)。

然而,请注意,到目前为止,只有 PPO(单代理和多代理)和 SAC(仅单代理)支持“新 API 堆栈”,并且默认情况下继续使用旧 API 运行。您可以继续使用现有的自定义(旧堆栈)类。

请参阅此处 以获取有关如何使用新API堆栈的更多详细信息。

RLModule API#

RL 模块规范和配置#

单一代理#

RLModuleSpec

实用规范类,使构建RLModules(在单智能体情况下)更容易。

RLModuleSpec.build

根据此规范构建 RLModule。

RLModuleSpec.get_rl_module_config

返回此规范的 RLModule 配置。

RLModule 配置#

RLModuleConfig

一个实用配置类,用于简化RLModules的构建。

RLModuleConfig.to_dict

返回配置的序列化表示。

RLModuleConfig.from_dict

从序列化表示创建一个配置。

RLModuleConfig.get_catalog

返回此配置的目录。

多 RLModule (多智能体)#

MultiRLModuleSpec

一个实用规范类,使构造 MultiRLModules 更容易。

MultiRLModuleSpec.build

构建多智能体模块或单智能体模块。

MultiRLModuleSpec.get_multi_rl_module_config

返回此规范的 MultiRLModuleConfig。

RL 模块 API#

构造函数#

RLModule

RLlib 模块的基类。

RLModule.as_multi_rl_module

返回此模块的多代理包装器。

转发方法#

forward_train

训练期间的前向传递,从学习器中调用。

forward_exploration

探索期间的正向传递,从采样器调用。

forward_inference

在评估期间的前向传递,从采样器调用。

_forward_train

训练期间的正向传递。

_forward_exploration

探索期间的正向传递。

_forward_inference

评估期间的正向传递。

IO 规范#

input_specs_inference

返回 forward_inference 方法的输入规格。

input_specs_exploration

返回 forward_exploration 方法的输入规格。

input_specs_train

返回 forward_train 方法的输入规格。

output_specs_inference

返回 forward_inference() 方法的输出规格。

output_specs_exploration

返回 forward_exploration() 方法的输出规格。

output_specs_train

返回 forward_train 方法的输出规格。

保存与加载#

get_state

返回模块的状态字典。

set_state

将实现类的状态设置为给定的状态字典。

save_to_path

将实现类的状态(或 state)保存到 path

restore_from_path

从给定的路径恢复实现类的状态。

from_checkpoint

从给定位置创建一个新的 Checkpointable 实例并返回它。

多智能体强化学习模块 API#

构造函数#

MultiRLModule

包含 n 个子 RLModule 的 RLModule 基类。

MultiRLModule.setup

设置底层的 RLModules。

MultiRLModule.as_multi_rl_module

返回自身以匹配 RLModule.as_multi_rl_module() 的行为。

修改底层强化学习模块#

add_module

在运行时将一个模块添加到多代理模块中。

remove_module

从多代理模块中在运行时移除一个模块。

保存与加载#

save_to_path

将实现类的状态(或 state)保存到 path

restore_from_path

从给定的路径恢复实现类的状态。