code: def testFullyReparameterized(self):
      concentration = tf.constant(4.0)
      rate = tf.constant(3.0)
      _, [grad_concentration, grad_rate] = gradient.value_and_gradient(
          lambda a, b: exp_gamma_lib.ExpGamma(  # pylint: disable=g-long-lambda
              concentration=a, rate=b, validate_args=True
          ).sample(
              100, seed=test_util.test_seed()
          ),
          [concentration, rate],
      )
      self.assertIsNotNone(grad_concentration)
      self.assertIsNotNone(grad_rate)
  
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 14 for calling the ExpGammaTest obj's underlying member method code with example usage: obj.testFullyReparameterized() without return types