code: def testLogPDFMultidimensionalBroadcasting(self):
      batch_size = 6
      concentration = tf.constant([[2.0, 4.0]] * batch_size)
      rate = tf.constant(3.0)
      x = np.array([[2.5, 2.5, 4.0, 0.1, 1.0, 2.0]], dtype=np.float32).T
      d = exp_gamma_lib.ExpGamma(
          concentration=concentration, rate=rate, validate_args=True
      )
      log_pdf = d.log_prob(x)
      self.assertEqual(log_pdf.shape, (6, 2))
      pdf = d.prob(x)
      self.assertEqual(pdf.shape, (6, 2))
  
      oracle_d = tfb.Log()(
          gamma.Gamma(concentration=concentration, rate=rate)
      )
      expected_log_pdf = oracle_d.log_prob(x)
      expected_pdf = oracle_d.prob(x)
      self.assertAllClose(log_pdf, expected_log_pdf)
      self.assertAllClose(pdf, expected_pdf)
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import misc
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import exp
  from tensorflow_probability.python.distributions import exp_gamma
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.distributions.internal import statistical_testing
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 5 for calling the ExpGammaTest obj's underlying member method code with example usage: obj.testLogPDFMultidimensionalBroadcasting() without return types