tensorflow checkpoint 学习笔记

2017年8月21日 0 作者 CrazyKK


What is the TensorFlow checkpoint meta file?

TensorFlow: Restoring variables from from multiple checkpoints


This file contains a serialized  MetaGraphDef protocol buffer. The  MetaGraphDef is designed as a serialization format that includes all of the information required to restore a training or inference process (including the  GraphDef that describes the dataflow, and additional annotations that describe the variables, input pipelines, and other relevant information). For example, the  MetaGraphDef is used by TensorFlow Serving to start an inference service based on your trained model. We are investigating other tools that could use the  MetaGraphDef for training.

Assuming that you still have the Python code for your model, you do not need the  MetaGraphDefto restore the model, because you can reconstruct all of the information in the  MetaGraphDef by re-executing the Python code that builds the model. To restore from a checkpoint, you only need the checkpoint files that contain the trained weights, which are written periodically to the same directory.



  • meta file: describes the saved graph structure, includes GraphDef, SaverDef, and so on; then apply  tf.train.import_meta_graph('/tmp/model.ckpt.meta'), will restore  Saver and  Graph.
  • index file: it is a string-string immutable table(tensorflow::table::Table). Each key is a name of a tensor and its value is a serialized BundleEntryProto. Each BundleEntryProto describes the metadata of a tensor: which of the “data” files contains the content of a tensor, the offset into that file, checksum, some auxiliary data, etc.
  • data file: it is TensorBundle collection, save the values of all variables.