code: def _random_poisson_cpu(
      shape,
      rates=None,
      log_rates=None,
      output_dtype=tf.float32,
      seed=None,
      name=None,
  ):
      """Sample using *fast* `tf.random.stateless_poisson`."""
      with tf.name_scope(name or "poisson_cpu"):
          if rates is None:
              rates = tf.math.exp(log_rates)
          shape = tf.concat([shape, tf.shape(rates)], axis=0)
          return tf.random.stateless_poisson(
              shape=shape, seed=seed, lam=rates, dtype=output_dtype
          )
  
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 1 for calling a global function with example usage: _random_poisson_cpu(shape, rates, log_rates, output_dtype, seed, name) and returns: tf