code: def testDirichletFullyReparameterized(self):
      alpha = tf.constant([1.0, 2.0, 3.0])
      _, grad_alpha = gradient.value_and_gradient(
          lambda a: dirichlet.Dirichlet(
              a
          ).sample(  # pylint: disable=g-long-lambda
              100, seed=test_util.test_seed()
          ),
          alpha,
      )
      self.assertIsNotNone(grad_alpha)
      self.assertNotAllZero(grad_alpha)
  
imports: import numpy
  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 dirichlet
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.util import deferred_tensor
label_desc: Use image node_id 22 for calling the DirichletTest obj's underlying member method code with example usage: obj.testDirichletFullyReparameterized() without return types