code: def poisson(
      random_state, size=None, lam=1.0, ndim=None, dtype="int64"
  ):
      """
      Draw samples from a Poisson distribution.
  
      The Poisson distribution is the limit of the Binomial distribution for
      large N.
  
      Parameters
      ----------
      lam : float or ndarray-like of the same shape as size parameter
          Expectation of interval, should be >= 0.
      size: int or tuple of ints, optional
          Output shape. If the given shape is, e.g., (m, n, k), then m * n * k
          samples are drawn.
      dtype
          The dtype of the return value (which will represent counts).
  
      size or ndim must be given.
  
      """
      lam = tensor.as_tensor_variable(lam)
  
      ndim, size, bcast = _infer_ndim_bcast(ndim, size)
  
      op = RandomFunction(
          "poisson", tensor.TensorType(dtype=dtype, broadcastable=bcast)
      )
      return op(random_state, size, lam)
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  from copy import copy
  import numpy
  from six import string_types
  from six.moves import reduce, xrange
  import theano
  from theano import tensor
  from theano.tensor import opt
  from theano import gof
  from theano.compile import optdb
label_desc: Use image node_id 10 for calling a global function with example usage: poisson(random_state, size, lam, ndim, dtype) and returns: op