code: def test_gradients_propagate(self, *shape):
      initial_value = tf.random.uniform(shape, dtype=tf.float32)
      parameter = self.cls(initial_value, **self.kwargs)
      rand = tf.random.uniform(shape)
      with tf.GradientTape() as tape:
          loss = tf.reduce_sum(rand * parameter())
      gradients = tape.gradient(loss, parameter.variables)
      self.assertLen(gradients, 2)
      self.assertNotAllClose(
          tf.zeros_like(gradients[0]), gradients[0], atol=1e-1, rtol=0
      )
      self.assertNotAllClose(
          tf.zeros_like(gradients[1]), gradients[1], atol=1e-1, rtol=0
      )
  
file_path: compression/tensorflow_compression/python/layers/parameters_test.py
imports: from absl.testing import parameterized
  import tensorflow
  from tensorflow_compression.python.layers import parameters
label_desc: Use image node_id 1 for calling the RDFTParameterTest obj's underlying member method code with example usage: obj.test_gradients_propagate() without return types