Reputation: 5025
When saving a checkpoint, TensorFlow often saves a meta file: my_model.ckpt.meta
. What is in that file, can we still restore a model even if we delete it and what kind of info did we lose if we restore a model without the meta file?
Upvotes: 27
Views: 20161
Reputation: 126154
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 MetaGraphDef
to 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.
Upvotes: 39