code: def distribution(
      self,
      distr_args,
      loc: Optional[torch.Tensor] = None,
      scale: Optional[torch.Tensor] = None,
  ) -> Distribution:
      (rate,) = distr_args
  
      if scale is not None:
          rate *= scale
  
      return Poisson(rate=rate)
  
imports: from typing import Dict, Optional, Tuple
  import numpy
  import torch
  import torch.nn.functional
  from torch.distributions import Beta, Distribution, Gamma, Laplace, Normal, Poisson
  from gluonts.core.component import validated
  from gluonts.model.forecast_generator import DistributionForecastGenerator, ForecastGenerator
  from gluonts.torch.distributions import AffineTransformed
  from .output import Output
label_desc: Use image node_id 2 for calling the PoissonOutput obj's underlying member method code with example usage: obj.distribution(distr_args, loc, scale) and returns: Poisson