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_space
和self.action_space
推断。如果无法推断空间信息,将引发错误。spaces – 可选的字典,将 ModuleIDs 映射到观测空间和动作空间的 2-tuple,这些空间应分别用于相应的 RLModule。这些空间通常由已经实例化的远程 EnvRunner 提供(调用
EnvRunner.get_spaces()
)。如果未提供,将尝试从env
推断,否则从self.observation_space
和self.action_space
推断。如果无法推断出空间信息,将引发错误。inference_only – 如果
True
,返回的模块规格将用于仅推理的设置(采样),因此 RLModule 可以构建其轻量版本(如果可用)。例如,RLModule 的inference_only
版本可能只包含计算动作所需的网络,但缺少额外的目标或批评网络。此外,如果True
,返回的规格将不包含那些将其learner_only
标志设置为 True 的(子)RLModuleSpecs。
- 返回:
一个新的 MultiRLModuleSpec 实例,可用于构建 MultiRLModule。