class_docstr: Action distribution that operates on multiple, possibly nested actions.
class_docstr_tok: ["Action","distribution","that","operates","on","multiple",",","possibly","nested","actions","."]
docstr: Initializes a TorchMultiActionDistribution object.
  
  Args:
      child_distribution_struct: Any struct
          that contains the child distribution classes to use to
          instantiate the child distributions from `logits`.
docstr_tok: ["Initializes","a","TorchMultiActionDistribution","object",".","Args",":","child_distribution_struct",":","Any","struct","that","contains","the","child","distribution","classes","to","use","to","instantiate","the","child","distributions","from","`","logits","`","."]
code: def __init__(
      self,
      child_distribution_struct: Union[Tuple, List, Dict],
  ):
      """Initializes a TorchMultiActionDistribution object.
  
      Args:
          child_distribution_struct: Any struct
              that contains the child distribution classes to use to
              instantiate the child distributions from `logits`.
      """
      super().__init__()
      self._original_struct = child_distribution_struct
      self._flat_child_distributions = tree.flatten(
          child_distribution_struct
      )
  
imports: import gymnasium
  import numpy
  from typing import Optional, List, Mapping, Iterable, Dict
  import tree
  import abc
  from ray.rllib.models.distributions import Distribution
  from ray.rllib.utils.annotations import override, DeveloperAPI
  from ray.rllib.utils.framework import try_import_torch
  from ray.rllib.utils.typing import TensorType, Union, Tuple
label_desc: Use image node_id 1 to create a new TorchMultiDistribution object from inherited base classes: Distribution with example: obj = TorchMultiDistribution(child_distribution_struct)