code: def distribution(
      self,
      distr_args,
      loc: Optional[torch.Tensor] = None,
      scale: Optional[torch.Tensor] = None,
  ) -> Distribution:
      total_count, logits = distr_args
  
      if scale is not None:
          logits += scale.log()
  
      return NegativeBinomial(total_count=total_count, logits=logits)
  
file_path: gluonts/src/gluonts/torch/distributions/negative_binomial.py
imports: from typing import Dict, Optional, Tuple, Union
  import torch
  import torch.nn.functional
  from torch.distributions import Distribution
  from torch.distributions import NegativeBinomial
  from gluonts.util import lazy_property
  from scipy.stats import nbinom
  from .distribution_output import DistributionOutput
label_desc: Use image node_id 3 for calling the NegativeBinomialOutput obj's underlying member method code with example usage: obj.distribution(distr_args, loc, scale) and returns: NegativeBinomial