code: def test_reshape_einsum_outputs(self, experiment_params):
      (
          equation,
          output_shape,
          true_permutations,
          true_parsed_shape,
      ) = experiment_params
      num_entries = int(np.prod(output_shape))
      output_tensor = tf.reshape(tf.range(0, num_entries), output_shape)
      computed_parsed_tensor = einsum_utils._reshape_einsum_outputs(
          output_tensor,
          equation,
      )
      true_parsed_tensor = output_tensor
      if true_permutations is not None:
          true_parsed_tensor = tf.transpose(
              true_parsed_tensor, perm=true_permutations
          )
      true_parsed_tensor = tf.reshape(
          true_parsed_tensor, true_parsed_shape
      )
      self.assertAllEqual(computed_parsed_tensor, true_parsed_tensor)
  
file_path: privacy/tensorflow_privacy/privacy/fast_gradient_clipping/registry_functions/einsum_utils_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_privacy.privacy.fast_gradient_clipping.registry_functions import einsum_utils
label_desc: Use image node_id 5 for calling the EinsumUtilsTest obj's underlying member method code with example usage: obj.test_reshape_einsum_outputs(experiment_params) without return types