class_docstr: Abstract baseclass and interface definitions for model composers.
  
  Model composers encapsulate the set of policy and critic networks along with the distribution mapper.
  
  :param action_spaces_dict: Dict of sub-step id to action space.
  :param observation_spaces_dict: Dict of sub-step id to observation space.
  :param distribution_mapper_config: Distribution mapper configuration.
class_docstr_tok: ["Abstract","baseclass","and","interface","definitions","for","model","composers",".","Model","composers","encapsulate","the","set","of","policy","and","critic","networks","along","with","the","distribution","mapper",".",":","param","action_spaces_dict",":","Dict","of","sub-step","id","to","action","space",".",":","param","observation_spaces_dict",":","Dict","of","sub-step","id","to","observation","space",".",":","param","distribution_mapper_config",":","Distribution","mapper","configuration","."]
docstr: The DistributionMapper, mapping the action heads to distributions.
docstr_tok: ["The","DistributionMapper",",","mapping","the","action","heads","to","distributions","."]
code: def distribution_mapper(self) -> DistributionMapper:
      """The DistributionMapper, mapping the action heads to distributions."""
      return self._distribution_mapper
  
file_path: maze/maze/perception/models/model_composer.py
imports: import os
  from abc import abstractmethod, ABC
  from typing import Dict, Optional
  import gym
  from maze.core.agent.torch_policy import TorchPolicy
  from maze.core.agent.torch_state_critic import TorchStateCritic
  from maze.core.env.structured_env import StepKeyType
  from maze.core.utils.factory import ConfigType
  from maze.core.utils.structured_env_utils import flat_structured_space
  from maze.distributions.distribution_mapper import DistributionMapper
  from maze.perception.blocks.inference import InferenceGraph, InferenceBlock
  from maze.utils.bcolors import BColors
label_desc: Use image node_id 5 for calling the BaseModelComposer obj's underlying member method code with example usage: obj.distribution_mapper() and returns: self