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_space
andself.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_space
andself.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_only
version 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_only
flag set to True.
- Returns:
A new MultiRLModuleSpec instance that can be used to build a MultiRLModule.