ray.rllib.core.rl_模块.多_rl_模块.MultiRLModuleSpec#
- class ray.rllib.core.rl_module.multi_rl_module.MultiRLModuleSpec(multi_rl_module_class: ~typing.Type[~ray.rllib.core.rl_module.multi_rl_module.MultiRLModule] = <class 'ray.rllib.core.rl_module.multi_rl_module.MultiRLModule'>, inference_only: bool = False, module_specs: ~ray.rllib.core.rl_module.rl_module.RLModuleSpec | ~typing.Dict[str, ~ray.rllib.core.rl_module.rl_module.RLModuleSpec] = None, load_state_path: str | None = None, modules_to_load: ~typing.Set[str] | None = None, marl_module_class: ~typing.Type[~ray.rllib.core.rl_module.multi_rl_module.MultiRLModule] = <class 'ray.rllib.core.rl_module.multi_rl_module.MultiRLModule'>)[源代码]#
基类:
object
一个实用规范类,使构造 MultiRLModules 更容易。
用户可以扩展此类以修改基类的行为。例如,为了在模块之间共享神经网络,可以重写构建方法以首先创建共享模块,然后将其传递给自定义模块类,这些类随后将其用作共享模块。
- 参数:
multi_rl_module_class – 要构建的 MultiRLModule 类。默认设置为 MultiRLModule 类。该类只是遍历每个模块并调用它们的前向方法。
module_specs – 每个单独模块的模块规格。它可以是用于所有 module_id 的 RLModuleSpec,或者是从 module_id 映射到每个单独模块的 RLModuleSpecs 的字典。
load_state_path – 要加载的模块状态的路径。注意:这必须是一个绝对路径。注意:如果此规范的 load_state_path 已设置,并且其中一个 RLModuleSpecs 的 load_state_path 也已设置,则该 RL 模块的权重将从 RLModuleSpec 中指定的路径加载。如果您想加载 MultiRLModule 的权重,并且还想从其他检查点手动加载该 MultiRLModule 中某些 RL 模块的权重,这将非常有用。
modules_to_load – 一组要从检查点加载的模块ID。仅在设置了load_state_path时使用。如果此项为None,则加载所有模块。
PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。
方法
将新的模块规格添加到规格中或更新现有规格。
返回自身以匹配
RLModuleSpec.as_multi_rl_module_spec()
。构建多智能体模块或单智能体模块。
从字典创建一个 MultiRLModuleSpec。
从 MultiRLModule 创建一个 MultiRLModuleSpec。
返回此规范的 MultiRLModuleConfig。
从此 MultiRLModuleSpec 中移除提供的 ModuleIDs。
将 MultiRLModuleSpec 转换为字典。
使用另一个规范更新此规范。
属性