code: def testLargeLogProbDiffBatchOfVecUnderlying(self):
      nsamp = 5
      nbatch = 3
      nevt = 250
      dim = 500
      d0 = sample.Sample(
          mvn_diag.MultivariateNormalDiag(
              tf.fill([nbatch, dim], 0.0), tf.fill([dim], 0.1)
          ),
          sample_shape=nevt,
      )
      self.assertEqual(tf.float32, d0.dtype)
      d1 = sample.Sample(
          mvn_diag.MultivariateNormalDiag(
              tf.fill([nbatch, dim], 1e-5), d0.distribution.scale.diag
          ),
          sample_shape=nevt,
      )
      strm = test_util.test_seed_stream()
      x0 = self.evaluate(  # overdispersed
          normal.Normal(0, 2).sample(
              [nsamp, nbatch, nevt, dim], seed=strm()
          )
      )
      x1 = self.evaluate(  # overdispersed + perturbed
          x0 + normal.Normal(0, 1e-6).sample(x0.shape, seed=strm())
      )
      d0_64 = d0.copy(
          distribution=mvn_diag.MultivariateNormalDiag(
              tf.cast(d0.distribution.loc, tf.float64),
              tf.cast(d0.distribution.scale.diag, tf.float64),
          )
      )
      d1_64 = d1.copy(
          distribution=mvn_diag.MultivariateNormalDiag(
              tf.cast(d1.distribution.loc, tf.float64),
              tf.cast(d1.distribution.scale.diag, tf.float64),
          )
      )
      oracle_64 = d0_64.log_prob(
          tf.cast(x0, tf.float64)
      ) - d1_64.log_prob(tf.cast(x1, tf.float64))
      self.assertNotAllZero(d0.log_prob(x0) < -10_000_000)
      self.assertAllClose(
          oracle_64,
          log_prob_ratio.log_prob_ratio(d0, x0, d1, x1),
          rtol=0.0,
          atol=0.045,
      )
  
imports: import functools
  import os
  from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.bijectors import scale_matvec_tril
  from tensorflow_probability.python.distributions import cholesky_lkj
  from tensorflow_probability.python.distributions import exponential
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions import log_prob_ratio
  from tensorflow_probability.python.distributions import logistic
  from tensorflow_probability.python.distributions import lognormal
  from tensorflow_probability.python.distributions import mvn_diag
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import poisson
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.distributions import uniform
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 23 for calling the SampleDistributionTest obj's underlying member method code with example usage: obj.testLargeLogProbDiffBatchOfVecUnderlying() without return types