code: def testInverseGammaFullyReparameterized(self):
      alpha = tf.constant(4.0)
      beta = tf.constant(3.0)
  
      def inverse_gamma_sampler(alpha, beta):
          inv_gamma = inverse_gamma.InverseGamma(
              concentration=alpha, scale=beta, validate_args=True
          )
          return inv_gamma.sample(10, seed=test_util.test_seed())
  
      _, [grad_alpha, grad_beta] = gradient.value_and_gradient(
          inverse_gamma_sampler, [alpha, beta]
      )
      self.assertIsNotNone(grad_alpha)
      self.assertIsNotNone(grad_beta)
  
imports: import numpy
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import inverse_gamma
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 16 for calling the InverseGammaTest obj's underlying member method code with example usage: obj.testInverseGammaFullyReparameterized() and returns: inv_gamma