code: def testGradients(self):
      net = tf_keras.Sequential(
          [
              dense_variational.DenseReparameterization(1),
              dense_variational.DenseFlipout(1),
              dense_variational.DenseLocalReparameterization(1),
          ]
      )
      with tf.GradientTape() as tape:
          y = net(tf.zeros([1, 1]))
      grads = tape.gradient(y, net.trainable_variables)
      self.assertLen(grads, 9)
      self.assertAllNotNone(grads)
  
imports: import numpy
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.internal import tf_keras
  from tensorflow_probability.python.layers import dense_variational
  from tensorflow_probability.python.layers import util
  from tensorflow_probability.python.random import random_ops
  from tensorflow_probability.python.util import seed_stream
label_desc: Use image node_id 19 for calling the DenseVariational obj's underlying member method code with example usage: obj.testGradients() without return types