code: def testDeferredTransformedDistribution(self):
      log_concentration = tf.Variable(0.0)
      log_rate = tf.Variable(0.0)
      log_scale = tf.Variable(-1.0)
      dist = deferred_module.DeferredModule(
          lambda a, b, c: transformed_distribution.TransformedDistribution(  # pylint: disable=g-long-lambda
              gamma.Gamma(tf.exp(a), tf.exp(b)), scale.Scale(tf.exp(c))
          ),
          log_concentration,
          log_rate,
          log_scale,
      )
      with tf.GradientTape() as tape:
          x = dist.sample()
      self.assertAllNotNone(
          tape.gradient(x, [log_concentration, log_rate, log_scale])
      )
  
file_path: probability/tensorflow_probability/python/experimental/util/deferred_module_test.py
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import scale
  from tensorflow_probability.python.distributions import gamma
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import sample
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.experimental.util import deferred_module
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 4 for calling the DeferredModuleTest obj's underlying member method code with example usage: obj.testDeferredTransformedDistribution() without return types