赞
踩
Tensorflow中,模型的保存与加载有多种方法。这篇文章主要是把这些方法整理在一起,方便查看。
一般在训练模型的过程中,需要保存模型和权重,常见的方式是保存为ckpt格式的文件,具体的函数如下:
tf.train.Saver().save(sess,ckpt_file_path,max_to_keep=4,keep_checkpoint_every_n_hours=2)
再使用类似下面的code来恢复模型:
saver.restore(sess,tf.train.latest_checkpoint('./ckpt'))
(a)保存模型
# 保存模型 import tensorflow as tf # Create some variables. v1 = tf.Variable([1,2,3], name='v1', dtype=float) v2 = tf.Variable([4,5,6,7,8], name='v2', dtype=float) inc_v1 = v1.assign(v1+1) dec_v2 = v2.assign(v2-1) # Add an op to initialize the variables. init_op = tf.global_variables_initializer() # Add ops to save and restore all the variables. saver = tf.train.Saver() # Later, launch the model, initialize the variables, do some work, and save the # variables to disk. with tf.Session() as sess: sess.run(init_op) # Do some work with the model. inc_v1.op.run() dec_v2.op.run() # Save the variables to disk. save_path = saver.save(sess, "./models/model.ckpt") # 这里,./models是模型保存的目录 print("Model saved in path: %s" % save_path)
保存的模型如下:
其中,checkpoint文件,记录了保存的最新的checkpoint文件以及其它checkpoint文件列表。
.data-xxxx文件是二进制文件,保存了所有的weights、biases、gradients等变量。
.index文件中保存了各种变量名称
.meta文件保存的是图结构,meta文件是pb(protocol buffer)格式文件,包含Variables、op、集合等
(2)加载模型
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。