class_docstr: Encapsulates a structured torch policy and critic
  for training actor-critic algorithms in structured environments.
  
  :param policy: A structured torch policy for training in structured environments.
  :param critic: A structured torch critic for training in structured environments.
  :param device: Device the model (networks) should be located on (cpu or cuda)
docstr: implementation of :class:`~maze.core.agent.torch_model.TorchModel`
          
docstr_tok: ["implementation","of",":","class",":","`","~maze.core.agent.torch_model.TorchModel","`"]
code: def state_dict(self) -> Dict:
      """implementation of :class:`~maze.core.agent.torch_model.TorchModel`"""
      state_dict = dict()
      state_dict.update(self.policy.state_dict())
      state_dict.update(self.critic.state_dict())
      return state_dict
  
imports: from typing import List, Dict, Union, Tuple
  import torch
  from maze.core.agent.state_critic_input_output import StateCriticOutput, StateCriticInput
  from maze.core.agent.torch_model import TorchModel
  from maze.core.agent.torch_policy import TorchPolicy
  from maze.core.agent.torch_policy_output import PolicyOutput
  from maze.core.agent.torch_state_action_critic import TorchStateActionCritic
  from maze.core.agent.torch_state_critic import TorchStateCritic
  from maze.core.annotations import override
  from maze.core.trajectory_recording.records.structured_spaces_record import StructuredSpacesRecord
label_desc: Use image node_id 7 for calling the TorchActorCritic obj's underlying member method code with example usage: obj.state_dict() and returns: state_dict