code: def test_write_fingerprint(self):
      save_dir = os.path.join(
          self.get_temp_dir(), "model_and_fingerprint"
      )
      save.save_and_return_nodes(
          self._create_model_with_data(),
          save_dir,
          experimental_skip_checkpoint=True,
      )  # checkpoint data won't be loaded
  
      fingerprint_def = fingerprinting.read_fingerprint(save_dir)
  
      # We cannot check this value due to non-determinism in serialization.
      self.assertGreater(fingerprint_def.saved_model_checksum, 0)
      self.assertEqual(
          fingerprint_def.graph_def_program_hash, 8947653168630125217
      )
      self.assertEqual(
          fingerprint_def.signature_def_hash, 15354238402988963670
      )
      self.assertEqual(fingerprint_def.checkpoint_hash, 0)
  
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 11 for calling the FingerprintingTest obj's underlying member method code with example usage: obj.test_write_fingerprint() without return types