Tensorflow 模型保存与恢复(1)使用tf.train.Saver()

使用tf.train.Saver() 保存和恢复模型

tf.train.Saver()主要用来在训练期间保存模型的checkpoint文件,便于在训练中断时方便的恢复模型,继续训练。

其他相关:
Tensorflow 模型保存与恢复(2)使用SavedModel
Tensorflow 模型保存与恢复(3)保存模型到单个文件中

	saver.save(sess,'/tmp/model.ckpt')     # 保存模型
	saver.restore(sess,'/tmp/model.ckpt')  # 恢复模型

参数中的’model.ckpt’是保存的模型文件名的前缀,实际保存到磁盘上的有三个文件,分别是model.ckpt.meta,model.ckpt.index和model.ckpt.data文件,这三个文件的用处分别为:
(1) .meta: 元数据文件,记录了tf graph的结构,包括GraphDef,SaverDef等,可以通过tf.train.import_meta_graph(’./xxx.meta’),可以restore Graph和Saver.
(2) .index: 是一个string-string格式的表(Tensorflow::table::Table). 键是tensor的名称,值是一个BundleEntryProto,包含关于这个tensor的一些信息,包括dtype,shape,offset,size,CRC32C checksum等信息。
(3) .data: 是一个TensorBundle集合,保存了所有Variables的值。

恢复模型的时候,如果不想在代码中重新定义变量,可以先导入graph,再恢复变量值:

	saver = tf.train.import_meta_graph(_model_path + '.meta')
	saver.restore(sess,'/tmp/model.ckpt')

完整的代码示例:github

你可能感兴趣的:(TensorFlow)