code: def test_model_saved_with_different_signature_options(self):
      model = self._create_model_with_function()
      # Save the model with signatures specified in SaveOptions.
      sig_dir = os.path.join(self.get_temp_dir(), "saved_model")
      save.save(
          model,
          sig_dir,
          signatures=model.f.get_concrete_function(
              tensor_spec.TensorSpec(None, dtypes.float32)
          ),
      )
      # Save the model without signatures.
      no_sig_dir = os.path.join(self.get_temp_dir(), "saved_model2")
      save.save(model, no_sig_dir)
      # Save the model with an input signature specified.
      input_sig_dir = os.path.join(self.get_temp_dir(), "saved_model3")
      save.save(
          self._create_model_with_input_signature(), input_sig_dir
      )
  
      fingerprint_sig = self._read_fingerprint(
          file_io.join(sig_dir, constants.FINGERPRINT_FILENAME)
      )
      fingerprint_no_sig = self._read_fingerprint(
          file_io.join(no_sig_dir, constants.FINGERPRINT_FILENAME)
      )
      fingerprint_input_sig = self._read_fingerprint(
          file_io.join(input_sig_dir, constants.FINGERPRINT_FILENAME)
      )
  
      # Check that the model saved with different options has different
      # SignatureDef hashes.
      self.assertNotEqual(
          fingerprint_sig.signature_def_hash,
          fingerprint_no_sig.signature_def_hash,
      )
      # Check that the model saved with the same concrete function has the same
      # regularized hashes.
      self.assertEqual(
          fingerprint_sig.graph_def_program_hash,
          fingerprint_input_sig.graph_def_program_hash,
      )
      self.assertEqual(
          fingerprint_sig.signature_def_hash,
          fingerprint_input_sig.signature_def_hash,
      )
  
imports: import os
  import shutil
  from tensorflow.core.config import flags
  from tensorflow.core.protobuf import fingerprint_pb2
  from tensorflow.core.protobuf import saved_model_pb2
  from tensorflow.python.eager import def_function
  from tensorflow.python.eager import test
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.lib.io import file_io
  from tensorflow.python.saved_model import fingerprinting
  from tensorflow.python.saved_model import fingerprinting_utils
  from tensorflow.python.saved_model import save
  from tensorflow.python.saved_model.pywrap_saved_model import constants
  from tensorflow.python.saved_model.pywrap_saved_model import fingerprinting
  from tensorflow.python.trackable import autotrackable
label_desc: Use image node_id 8 for calling the FingerprintingTest obj's underlying member method code with example usage: obj.test_model_saved_with_different_signature_options() without return types