code: def test_reduce_batch_count_mean_and_var_per_key(
      self,
      x,
      key,
      input_signature,
      expected_key_vocab,
      expected_count,
      expected_mean,
      expected_var,
      reduce_instance_dims,
      function_handler,
  ):
      @function_handler(input_signature=input_signature)
      def _reduce_batch_count_mean_and_var_per_key(x, key):
          return tf_utils.reduce_batch_count_mean_and_var_per_key(
              x, key, reduce_instance_dims=reduce_instance_dims
          )
  
      (
          key_vocab,
          count,
          mean,
          var,
      ) = _reduce_batch_count_mean_and_var_per_key(x, key)
  
      self.assertAllEqual(key_vocab, expected_key_vocab)
      self.assertAllEqual(count, expected_count)
      self.assertAllEqual(mean, expected_mean)
      self.assertAllEqual(var, expected_var)
  
imports: import os
  import numpy
  from packaging import version
  import tensorflow
  from tensorflow_transform import analyzers
  from tensorflow_transform import annotators
  from tensorflow_transform import tf_utils
  from tensorflow_transform import test_case
  from tensorflow.python.framework import composite_tensor
label_desc: Use image node_id 19 for calling the TFUtilsTest obj's underlying member method code with example usage: obj.test_reduce_batch_count_mean_and_var_per_key(x, key, input_signature, expected_key_vocab, expected_count, expected_mean, expected_var, reduce_instance_dims, function_handler) and returns: tf_utils