class_docstr: MultiCategorical distribution for MultiDiscrete action spaces.
class_docstr_tok: ["MultiCategorical","distribution","for","MultiDiscrete","action","spaces","."]
code: def rsample(self, sample_shape=()):
      arr = [cat.rsample() for cat in self._cats]
      sample_ = torch.stack(arr, dim=-1)
      return sample_
  
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 3 for calling the TorchMultiCategorical obj's underlying member method code with example usage: obj.rsample(sample_shape) and returns: sample_