code: def testValidateVariableArgs(self):
      amplitude = tf.Variable(1.0)
      length_scale = tf.Variable(1.0)
      power = tf.Variable(1.0)
      k = gamma_exponential.GammaExponential(
          amplitude, length_scale, power=power, validate_args=True
      )
      self.evaluate([v.initializer for v in k.variables])
  
      with self.assertRaisesOpError("must be positive"):
          with tf.control_dependencies([amplitude.assign(-1.0)]):
              self.evaluate(k.apply([1.0], [1.0]))
  
      with self.assertRaisesOpError("must be positive"):
          with tf.control_dependencies(
              [amplitude.assign(2.0), length_scale.assign(-1.0)]
          ):
              self.evaluate(k.apply([3.0], [3.0]))
  
      with self.assertRaisesOpError("must be positive"):
          with tf.control_dependencies(
              [length_scale.assign(2.0), power.assign(-1.0)]
          ):
              self.evaluate(k.apply([3.0], [3.0]))
  
      with self.assertRaisesOpError("must be <= 1"):
          with tf.control_dependencies([power.assign(1.1)]):
              self.evaluate(k.apply([3.0], [3.0]))
  
file_path: probability/tensorflow_probability/python/math/psd_kernels/gamma_exponential_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math.psd_kernels import exponentiated_quadratic
  from tensorflow_probability.python.math.psd_kernels import gamma_exponential
label_desc: Use image node_id 8 for calling the GammaExponentialTest obj's underlying member method code with example usage: obj.testValidateVariableArgs() without return types