class_docstr: A Zero Inflated Poisson distribution.
  
  :param torch.Tensor rate: rate of poisson distribution.
  :param torch.Tensor gate: probability of extra zeros.
  :param torch.Tensor gate_logits: logits of extra zeros.
class_docstr_tok: ["A","Zero","Inflated","Poisson","distribution",".",":","param","torch.Tensor","rate",":","rate","of","poisson","distribution",".",":","param","torch.Tensor","gate",":","probability","of","extra","zeros",".",":","param","torch.Tensor","gate_logits",":","logits","of","extra","zeros","."]
code: def rate(self):
      return self.base_dist.rate
  
imports: import torch
  from torch.distributions import constraints
  from torch.distributions.utils import broadcast_all, lazy_property, logits_to_probs, probs_to_logits
  from torch.nn.functional import softplus
  from pyro.distributions import NegativeBinomial, Poisson, TorchDistribution
  from pyro.distributions.util import broadcast_shape
label_desc: Use image node_id 2 for calling the ZeroInflatedPoisson obj's underlying member method code with example usage: obj.rate() and returns: self