ray.rllib.algorithms.algorithm_config.AlgorithmConfig.获取_rl_模块_规格#

AlgorithmConfig.get_rl_module_spec(env: Any | gymnasium.Env | None = None, spaces: Dict[str, gymnasium.Space] | None = None, inference_only: bool | None = None) RLModuleSpec[源代码]#

根据给定的环境/空间返回 RLModuleSpec。

参数:
  • env – 一个可选的环境实例,用于推断 RLModule 的观察和动作空间。如果未提供,将尝试从 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 版本可能只包含计算动作所需的网络,但缺少额外的目标或批评网络。

返回:

一个新的 RLModuleSpec 实例,可用于构建 RLModule。