ray.rllib.algorithms.algorithm_config.AlgorithmConfig.get_多智能体_rl_模块_规格#

AlgorithmConfig.get_multi_rl_module_spec(*, env: Any | gymnasium.Env | None = None, spaces: Dict[str, Tuple[gymnasium.Space, gymnasium.Space]] | None = None, inference_only: bool = False, policy_dict: Dict[str, PolicySpec] | None = None, single_agent_rl_module_spec: RLModuleSpec | None = None) MultiRLModuleSpec[源代码]#

返回基于给定环境/空间的 MultiRLModuleSpec。

参数:
  • env – 一个可选的环境实例,用于推断各个 RLModules 的不同空间。如果未提供,将尝试从 spaces 推断,否则从 self.observation_spaceself.action_space 推断。如果无法推断空间信息,将引发错误。

  • spaces – 可选的字典,将 ModuleIDs 映射到观测空间和动作空间的 2-tuple,这些空间应分别用于相应的 RLModule。这些空间通常由已经实例化的远程 EnvRunner 提供(调用 EnvRunner.get_spaces())。如果未提供,将尝试从 env 推断,否则从 self.observation_spaceself.action_space 推断。如果无法推断出空间信息,将引发错误。

  • inference_only – 如果 True,返回的模块规格将用于仅推理的设置(采样),因此 RLModule 可以构建其轻量版本(如果可用)。例如,RLModule 的 inference_only 版本可能只包含计算动作所需的网络,但缺少额外的目标或批评网络。此外,如果 True,返回的规格将不包含那些将其 learner_only 标志设置为 True 的(子)RLModuleSpecs。

返回:

一个新的 MultiRLModuleSpec 实例,可用于构建 MultiRLModule。