class_docstr: MultiCategorical distribution for MultiDiscrete action spaces.
class_docstr_tok: ["MultiCategorical","distribution","for","MultiDiscrete","action","spaces","."]
code: def required_input_dim(space: gym.Space, **kwargs) -> int:
      assert isinstance(space, gym.spaces.MultiDiscrete)
      return int(np.sum(space.nvec))
  
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 7 for calling the TorchMultiCategorical obj's underlying member method code with example usage: obj.required_input_dim(space) and returns: int