code: def test_cartpole_model_composer():
      path_to_model_config = (
          code_snippets.__path__._path[0] + "/custom_complex_net.yaml"
      )
  
      model_composer = Factory(base_type=BaseModelComposer).instantiate(
          yaml.load(open(path_to_model_config, "r")),
          action_spaces_dict=_mock_action_spaces_dict(),
          observation_spaces_dict=_mock_observation_spaces_dict(),
          agent_counts_dict=_mock_agent_counts_dict(),
      )
  
file_path: maze/docs/test/policy_and_value_networks/test_complex_models.py
imports: import torch
  import yaml
  from gym import spaces
  import docs.source.policy_and_value_networks.code_snippets
  from docs.source.policy_and_value_networks.code_snippets.custom_complex_critic_net import CustomComplexCriticNet
  from docs.source.policy_and_value_networks.code_snippets.custom_complex_policy_net import CustomComplexPolicyNet
  from maze.core.utils.factory import Factory
  from maze.core.utils.structured_env_utils import flat_structured_space
  from maze.distributions.distribution_mapper import DistributionMapper
  from maze.perception.models.model_composer import BaseModelComposer
  from maze.perception.perception_utils import observation_spaces_to_in_shapes
label_desc: Use image node_id 5 for calling a global function with example usage: test_cartpole_model_composer() without return types