code: def testPoissonCdfContinuousRelaxation(self):
      batch_size = 12
      lam = tf.constant([3.0] * batch_size)
      x = np.array(
          [
              -3.0,
              -0.5,
              0.0,
              2.0,
              2.2,
              3.0,
              3.1,
              4.0,
              5.0,
              5.5,
              6.0,
              7.0,
          ],
          dtype=np.float32,
      )
  
      expected_continuous_cdf = tf.math.igammac(1.0 + x, lam)
      expected_continuous_cdf = tf.where(
          x >= 0.0,
          expected_continuous_cdf,
          tf.zeros_like(expected_continuous_cdf),
      )
      expected_continuous_log_cdf = tf.math.log(expected_continuous_cdf)
  
      poisson = self._make_poisson(
          rate=lam,
          force_probs_to_zero_outside_support=False,
          validate_args=False,
      )
      log_cdf = poisson.log_cdf(x)
      self.assertEqual(log_cdf.shape, (batch_size,))
      self.assertAllClose(
          self.evaluate(log_cdf),
          self.evaluate(expected_continuous_log_cdf),
      )
  
      cdf = poisson.cdf(x)
      self.assertEqual(cdf.shape, (batch_size,))
      self.assertAllClose(
          self.evaluate(cdf), self.evaluate(expected_continuous_cdf)
      )
  
imports: import numpy
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import poisson
  from tensorflow_probability.python.distributions.internal import statistical_testing
  from tensorflow_probability.python.internal import dtype_util
  from tensorflow_probability.python.internal import implementation_selection
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 12 for calling the PoissonTest obj's underlying member method code with example usage: obj.testPoissonCdfContinuousRelaxation() without return types