class_docstr: A Zero Inflated Negative Binomial distribution.
  
  :param torch.Tensor gate: probability of extra zeros.
  :param total_count: non-negative number of negative Bernoulli trials.
  :type total_count: float or torch.Tensor
  :param torch.Tensor probs: Event probabilities of success in the half open interval [0, 1).
  :param torch.Tensor logits: Event log-odds for probabilities of success.
code: def __init__(
      self,
      gate,
      total_count,
      probs=None,
      logits=None,
      validate_args=None,
  ):
      base_dist = NegativeBinomial(
          total_count=total_count,
          probs=probs,
          logits=logits,
          validate_args=False,
      )
      base_dist._validate_args = validate_args
  
      super().__init__(gate, base_dist, validate_args=validate_args)
  
imports: import torch
  from torch.distributions import constraints, NegativeBinomial, Poisson, Distribution
  from torch.distributions.utils import broadcast_all, lazy_property
  from .utils import broadcast_shape
label_desc: Use image node_id 1 to create a new ZeroInflatedNegativeBinomial object from inherited base classes: ZeroInflatedDistribution with example: obj = ZeroInflatedNegativeBinomial(gate, total_count, probs, logits, validate_args)