code: def testUpdateVariablesDictNest(self):
      # Get original mean and variance.
      original_means, original_variances = self.evaluate(
          self._dict_tensor_normalizer.variables
      )
  
      # Construct and evaluate normalized tensor. Should update mean &
      #   variance.
      tensor = {
          "a": tf.constant([[1.3, 4.2, 7.5]], dtype=tf.float32),
          "b": tf.constant([[1.3, 4.2, 7.5]], dtype=tf.float32),
      }
      update_norm_vars = self._dict_tensor_normalizer.update(tensor)
      self.evaluate(update_norm_vars)
  
      # Get new mean and variance, and make sure they changed.
      new_means, new_variances = self.evaluate(
          self._dict_tensor_normalizer.variables
      )
  
      def _assert_dict_changed(dict1, dict2):
          self.assertAllEqual(
              sorted(dict1.keys()), sorted(dict2.keys())
          )
          for k in dict1.keys():
              for i in range(len(dict1[k])):
                  self.assertNotEqual(dict1[k][i], dict2[k][i])
  
      _assert_dict_changed(original_means, new_means)
      _assert_dict_changed(original_variances, new_variances)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import functools
  from absl.testing import parameterized
  import numpy
  import tensorflow
  from tf_agents.specs import tensor_spec
  from tf_agents.utils import tensor_normalizer
label_desc: Use image node_id 4 for calling the EMATensorNormalizerTest obj's underlying member method code with example usage: obj.testUpdateVariablesDictNest() without return types