ray.rllib.algorithms.algorithm_config.AlgorithmConfig.get_multi_rl_module_spec#
- 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[source]#
Returns the MultiRLModuleSpec based on the given env/spaces.
- Parameters:
env – An optional environment instance, from which to infer the different spaces for the individual RLModules. If not provided, tries to infer from
spaces, otherwise fromself.observation_spaceandself.action_space. Raises an error, if no information on spaces can be inferred.spaces – Optional dict mapping ModuleIDs to 2-tuples of observation- and action space that should be used for the respective RLModule. These spaces are usually provided by an already instantiated remote EnvRunner (call
EnvRunner.get_spaces()). If not provided, tries to infer fromenv, otherwise fromself.observation_spaceandself.action_space. Raises an error, if no information on spaces can be inferred.inference_only – If
True, the returned module spec is used in an inference-only setting (sampling) and the RLModule can thus be built in its light version (if available). For example, theinference_onlyversion of an RLModule might only contain the networks required for computing actions, but misses additional target- or critic networks. Also, ifTrue, the returned spec does NOT contain those (sub) RLModuleSpecs that have theirlearner_onlyflag set to True.
- Returns:
A new MultiRLModuleSpec instance that can be used to build a MultiRLModule.