class_docstr: Multi-categorical probability distribution.
  
  The respective functions either return aggregated properties across the sub-distributions
  using a reduce_fun such as mean or sum.
  
  :param logits: The concatenated action selection logits for all sub spaces.
class_docstr_tok: ["Multi-categorical","probability","distribution",".","The","respective","functions","either","return","aggregated","properties","across","the","sub-distributions","using","a","reduce_fun","such","as","mean","or","sum",".",":","param","logits",":","The","concatenated","action","selection","logits","for","all","sub","spaces","."]
docstr: implementation of :class:`~maze.distributions.torch_dist.TorchProbabilityDistribution` interface
          
docstr_tok: ["implementation","of",":","class",":","`","~maze.distributions.torch_dist.TorchProbabilityDistribution","`","interface"]
code: def neg_log_prob(self, actions: torch.Tensor) -> torch.Tensor:
      """implementation of :class:`~maze.distributions.torch_dist.TorchProbabilityDistribution` interface"""
      return -self.log_prob(actions)
  
file_path: maze/maze/distributions/multi_categorical.py
imports: from typing import Sequence
  import torch
  from gym import spaces
  from maze.core.annotations import override
  from maze.distributions.categorical import CategoricalProbabilityDistribution
  from maze.distributions.distribution import ProbabilityDistribution
label_desc: Use image node_id 3 for calling the MultiCategoricalProbabilityDistribution obj's underlying member method code with example usage: obj.neg_log_prob(actions) and returns: unknown