code: def test_save_transform_for_all_signatures(self):
      m = Model()
      # Originally f does addition
      self.assertEqual(
          m.f(
              constant_op.constant(1, dtypes.int32),
              constant_op.constant(2, dtypes.int32),
              constant_op.constant(False, dtypes.bool),
          ),
          3,
      )
  
      self.assertEqual(
          m.f(
              constant_op.constant(1, dtypes.int32),
              constant_op.constant(2, dtypes.int32),
              constant_op.constant(True, dtypes.bool),
          ),
          5,
      )
  
      # Transform every input signature of f to a multiply
      m.f = apply_transform(m.f, add_to_multiply)
  
      # Validate arbitrary signatures.
      self.assertEqual(
          m.f(
              constant_op.constant(1, dtypes.int32),
              constant_op.constant(2, dtypes.int32),
              constant_op.constant(False, dtypes.bool),
          ),
          2,
      )
      self.assertEqual(
          m.f(
              constant_op.constant(1, dtypes.int32),
              constant_op.constant(2, dtypes.int32),
              constant_op.constant(True, dtypes.bool),
          ),
          4,
      )
      self.assertEqual(
          m.f(
              constant_op.constant(1.0, dtypes.float32),
              constant_op.constant(2.0, dtypes.float32),
              constant_op.constant(False, dtypes.bool),
          ),
          (2.0),
      )
  
      # Save and restore the model.
      save_lib.save(m, "/tmp/testing_model")
      m_loaded = load_lib.load("/tmp/testing_model")
  
      # Validate the restored model.
      self.assertEqual(
          m_loaded.f(
              constant_op.constant(1, dtypes.int32),
              constant_op.constant(2, dtypes.int32),
              constant_op.constant(False, dtypes.bool),
          ),
          2,
      )
      self.assertEqual(
          m_loaded.f(
              constant_op.constant(1.1, dtypes.float32),
              constant_op.constant(2.0, dtypes.float32),
              constant_op.constant(True, dtypes.bool),
          ),
          (4.2),
      )
  
imports: import collections
  from absl.testing import parameterized
  from tensorflow.core.function.testing import test_pass
  from tensorflow.core.function.transform import transform
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.framework import test_util
  from tensorflow.python.module import module
  from tensorflow.python.ops import custom_gradient
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import while_loop
  from tensorflow.python.platform import test
  from tensorflow.python.saved_model import load
  from tensorflow.python.saved_model import save
label_desc: Use image node_id 10 for calling the TransformTest obj's underlying member method code with example usage: obj.test_save_transform_for_all_signatures() without return types