code: def testNoiseMultiplier(self, cls):
      with self.cached_session() as sess:
          var0 = tf.Variable([0.0])
          data0 = tf.Variable([[0.0]])
  
          opt = cls(
              l2_norm_clip=4.0,
              noise_multiplier=8.0,
              num_microbatches=1,
              learning_rate=2.0,
          )
  
          self.evaluate(tf.compat.v1.global_variables_initializer())
          # Fetch params to validate initial values
          self.assertAllClose([0.0], self.evaluate(var0))
  
          gradient_op = opt.compute_gradients(
              self._loss(data0, var0), [var0]
          )
          grads = []
          for _ in range(5000):
              grads_and_vars = sess.run(gradient_op)
              grads.append(grads_and_vars[0][0])
  
          # Test standard deviation is close to l2_norm_clip * noise_multiplier.
          self.assertNear(np.std(grads), 4.0 * 8.0, 0.5)
  
imports: import unittest
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow import estimator
  from tensorflow.compat.v1 import estimator
  from tensorflow_privacy.privacy.optimizers import dp_optimizer_vectorized
  from tensorflow_privacy.privacy.optimizers.dp_optimizer_vectorized import VectorizedDPAdagrad
  from tensorflow_privacy.privacy.optimizers.dp_optimizer_vectorized import VectorizedDPAdam
  from tensorflow_privacy.privacy.optimizers.dp_optimizer_vectorized import VectorizedDPSGD
label_desc: Use image node_id 5 for calling the DPOptimizerTest obj's underlying member method code with example usage: obj.testNoiseMultiplier(cls) without return types