class_docstr: Create a multinomial distribution object.
  
  Parameters
  ----------
  num_events : int
      number of events.
  prob : Tensor
      probability of each event.
  logit : Tensor
      unnormalized probability of each event.
  total_count : int
      number of trials.
class_docstr_tok: ["Create","a","multinomial","distribution","object",".","Parameters","--","--","--","--","--","num_events",":","int","number","of","events",".","prob",":","Tensor","probability","of","each","event",".","logit",":","Tensor","unnormalized","probability","of","each","event",".","total_count",":","int","number","of","trials","."]
code: def log_prob(self, value):
      if self._validate_args:
          self._validate_samples(value)
      lgamma = gammaln()
      log_factorial_n = lgamma(value.sum(-1) + 1)
      log_factorial_x = lgamma(value + 1).sum(-1)
      log_power = (self.logit * value).sum(-1)
      return log_factorial_n - log_factorial_x + log_power
  
file_path: mxnet/python/mxnet/gluon/probability/distributions/multinomial.py
imports: from numbers import Number
  from .distribution import Distribution
  from .one_hot_categorical import OneHotCategorical
  from .utils import cached_property, logit2prob, prob2logit, gammaln
  from .constraint import Simplex, Real, IntegerInterval
label_desc: Use image node_id 9 for calling the Multinomial obj's underlying member method code with example usage: obj.log_prob(value) and returns: unknown