code: def random_poisson(
      shape,
      rates=None,
      log_rates=None,
      output_dtype=tf.float32,
      seed=None,
      name=None,
  ):
      """Sample a poisson, CPU specialized to stateless_poisson.
  
      Args:
        shape: Shape of the full sample output. Trailing dims should match the
          broadcast shape of `counts` with `probs|logits`.
        rates: Batch of rates for Poisson distribution.
        log_rates: Batch of log rates for Poisson distribution.
        output_dtype: DType of samples.
        seed: PRNG seed; see `tfp.random.sanitize_seed` for details.
        name: Optional name for related ops.
  
      Returns:
        samples: Samples from poisson distributions.
        runtime_used_for_sampling: One of `implementation_selection._RUNTIME_*`.
      """
      with tf.name_scope(name or "random_poisson"):
          seed = samplers.sanitize_seed(seed)
          shape = ps.convert_to_shape_tensor(
              shape, dtype_hint=tf.int32, name="shape"
          )
          params = dict(
              shape=shape,
              rates=rates,
              log_rates=log_rates,
              output_dtype=output_dtype,
              seed=seed,
              name=name,
          )
          sampler_impl = (
              implementation_selection.implementation_selecting(
                  fn_name="poisson",
                  default_fn=_random_poisson_noncpu,
                  cpu_fn=_random_poisson_cpu,
              )
          )
          return sampler_impl(**params)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import softplus
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.internal import assert_util
  from tensorflow_probability.python.internal import batched_rejection_sampler
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import implementation_selection
  from tensorflow_probability.python.internal import parameter_properties
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensor_util
label_desc: Use image node_id 3 for calling a global function with example usage: random_poisson(shape, rates, log_rates, output_dtype, seed, name) and returns: sampler_impl