class_docstr: Poisson distribution.
  
  The Poisson distribution is parameterized by an event `rate` parameter.
  
  #### Mathematical Details
  
  The probability mass function (pmf) is,
  
  ```none
  pmf(k; lambda, k >= 0) = (lambda^k / k!) / Z
  Z = exp(lambda).
  ```
  
  where `rate = lambda` and `Z` is the normalizing constant.
class_docstr_tok: ["Poisson","distribution",".","The","Poisson","distribution","is","parameterized","by","an","event","`","rate","`","parameter",".","#","#","#","#","Mathematical","Details","The","probability","mass","function","(","pmf",")","is",",","``","`","none","pmf","(","k",";","lambda",",","k",">","=","0",")","=","(","lambda^k","\/","k","!",")","\/","Z","Z","=","exp","(","lambda",")",".","``","`","where","`","rate","=","lambda","`","and","`","Z","`","is","the","normalizing","constant","."]
code: def _log_unnormalized_prob(self, x, log_rate):
      # The log-probability at negative points is always -inf.
      # Catch such x's and set the output value accordingly.
      safe_x = tf.maximum(
          tf.floor(x)
          if self.force_probs_to_zero_outside_support
          else x,
          0.0,
      )
      y = tf.math.multiply_no_nan(log_rate, safe_x) - tf.math.lgamma(
          1.0 + safe_x
      )
      return tf.where(
          tf.equal(x, safe_x),
          y,
          dtype_util.as_numpy_dtype(y.dtype)(-np.inf),
      )
  
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 14 for calling the Poisson obj's underlying member method code with example usage: obj._log_unnormalized_prob(x, log_rate) and returns: tf