code: def testGammaFullyReparameterized(self):
      alpha = constant_op.constant(4.0)
      beta = constant_op.constant(3.0)
      with backprop.GradientTape() as tape:
          tape.watch(alpha)
          tape.watch(beta)
          gamma = gamma_lib.Gamma(concentration=alpha, rate=beta)
          samples = gamma.sample(100)
      grad_alpha, grad_beta = tape.gradient(samples, [alpha, beta])
      self.assertIsNotNone(grad_alpha)
      self.assertIsNotNone(grad_beta)
  
imports: import importlib
  import numpy
  from tensorflow.python.eager import backprop
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops.distributions import gamma
  from tensorflow.python.ops.distributions import kullback_leibler
  from tensorflow.python.platform import test
  from tensorflow.python.platform import tf_logging
label_desc: Use image node_id 16 for calling the GammaTest obj's underlying member method code with example usage: obj.testGammaFullyReparameterized() without return types