Back to Tensorflow

Fingerprinting

tensorflow/python/saved_model/fingerprinting.md

2.21.01.3 KB
Original Source

SavedModel Fingerprinting

This document describes the implementation details of SavedModel fingerprinting. The design document (RFC) can be found here.

Implementation

The code that implements SavedModel fingerprinting can be found in :

  • tensorflow/python/saved_model/fingerprinting.py: Public python methods for accessing the fingerprint.
  • tensorflow/python/saved_model/pywrap_saved_model_fingerprinting.*: Python wrappers for C++ fingerprint methods. For internal use only.
  • tensorflow/cc/saved_model/fingerprint.*: C++ methods for creating and reading the fingerprint.
  • tensorflow/core/graph/regularization/: Code that "regularizes" the GraphDef. See the README

Generally speaking, most of the implementation for SavedModel fingerprinting is in C++. The code in this directory is meant to make these methods accessible in Python for the purposes of creating a public API as well as instrumenting the Python side of the code base.

Instrumentation

The current SavedModel reading and loading APIs are instrumented such that they log the fingerprint every time they are called. The APIs that are instrumented are:

  • tf.saved_model.save
  • tf.saved_model.load
  • tensorflow::LoadSavedModel
  • tensorflow::SavedModelV2Bundle::Load