tf.train.export_meta_graph(filename=None, meta_info_def=None, graph_def=None, saver_def=None, collection_list=None, as_text=False)
MetaGraphDef proto. Optionally writes it to filename.
This function exports the graph, saver, and collection objects into
MetaGraphDef protocol buffer with the intention of it being imported
at a later time or location to restart training, run inference, or be
filename: Optional filename including the path for writing the generated
collection_list: List of string keys to collect.
True, writes the
MetaGraphDefas an ASCII proto.
Recreates a Graph saved in a
This function takes a
MetaGraphDef protocol buffer as input. If
the argument is a file containing a
MetaGraphDef protocol buffer ,
it constructs a protocol buffer from the file content. The function
then adds all the nodes from the
graph_def field to the
current graph, recreates all the collections, and returns a saver
constructed from the
In combination with
export_meta_graph(), this function can be used to
Serialize a graph along with other Python objects such as
Restart training from a saved graph and checkpoints.
Run inference from a saved graph and checkpoints.
... # Create a saver. saver = tf.train.Saver(...variables...) # Remember the training_op we want to run by adding it to a collection. tf.add_to_collection('train_op', train_op) sess = tf.Session() for step in xrange(1000000): sess.run(train_op) if step % 1000 == 0: # Saves checkpoint, which by default also exports a meta_graph # named 'my-model-global_step.meta'. saver.save(sess, 'my-model', global_step=step)
Later we can continue training from this saved
meta_graph without building
the model from scratch.
with tf.Session() as sess: new_saver = tf.train.import_meta_graph('my-save-dir/my-model-10000.meta') new_saver.restore(sess, 'my-save-dir/my-model-10000') # tf.get_collection() returns a list. In this example we only want the # first one. train_op = tf.get_collection('train_op') for step in xrange(1000000): sess.run(train_op)
NOTE: Restarting training from saved
meta_graph only works if the
device assignments have not changed.
MetaGraphDefprotocol buffer or filename (including the path) containing a
clear_devices: Boolean which controls whether to clear device information from graph_def. Default false.
A saver constructed from
MetaGraphDef or None.
A None value is returned if no variables exist in the
(i.e., there are no variables to restore).