code: def testLargeLogProbDiffScalarUnderlying(self):
      shp = [25, 200]
      d0 = sample.Sample(normal.Normal(0.0, 0.1), shp)
      d1 = sample.Sample(normal.Normal(1e-5, 0.1), shp)
      strm = test_util.test_seed_stream()
      x0 = self.evaluate(  # overdispersed
          normal.Normal(0, 2).sample(shp, seed=strm())
      )
      x1 = self.evaluate(  # overdispersed, perturbed
          x0 + normal.Normal(0, 1e-6).sample(x0.shape, seed=strm())
      )
      d0_64 = d0.copy(
          distribution=normal.Normal(
              tf.cast(d0.distribution.loc, tf.float64),
              tf.cast(d0.distribution.scale, tf.float64),
          )
      )
      d1_64 = d1.copy(
          distribution=normal.Normal(
              tf.cast(d1.distribution.loc, tf.float64),
              tf.cast(d1.distribution.scale, tf.float64),
          )
      )
      oracle_64 = tf.reduce_sum(
          d0_64.distribution.log_prob(tf.cast(x0, tf.float64))
          - d1_64.distribution.log_prob(tf.cast(x1, tf.float64))
      )
      self.assertAllClose(
          oracle_64,
          log_prob_ratio.log_prob_ratio(d0, x0, d1, x1),
          rtol=0.0,
          atol=0.007,
      )
  
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 22 for calling the SampleDistributionTest obj's underlying member method code with example usage: obj.testLargeLogProbDiffScalarUnderlying() without return types