class_docstr: Create a Poisson distribution object.
  
  Parameters
  ----------
  rate : Tensor or scalar, default 1
      rate parameter of the distribution.
code: def sample(self, size=None):
      lam = self.rate
      if size is None:
          size = ()
      if isinstance(lam, Number):
          # Scalar case
          return npx.scalar_poisson(lam, size)
      else:
          # Tensor case
          shape_tensor = np.ones(size)
          # shape = () currently not supported
          return npx.tensor_poisson(lam * shape_tensor)
  
file_path: mxnet/python/mxnet/gluon/probability/distributions/poisson.py
imports: from numbers import Number
  from .exp_family import ExponentialFamily
  from .constraint import Positive, NonNegativeInteger
  from .utils import gammaln
  from ....None import np, npx
label_desc: Use image node_id 5 for calling the Poisson obj's underlying member method code with example usage: obj.sample(size) and returns: npx, npx