tensorflow模型保存函数为:
tf.train.Saver()
例如下列代码:
import tensorflow as tf v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v1") v2= tf.Variable(tf.zeros([200]), name="v2") v3= tf.Variable(tf.zeros([100]), name="v3") saver = tf.train.Saver() with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) saver.save(sess,"checkpoint/model.ckpt",global_step=1)
运行后,保存模型保存,得到三个文件,分别为.data,.meta,.index,
model.ckpt.data-00000-of-00001 model.ckpt.index model.ckpt.meta
模型加载为:
with tf.Session() as sess: saver.restore(sess, "/checkpoint/model.ckpt")
meta file保存了graph结构,包括 GraphDef, SaverDef等,当存在meta file,我们可以不在文件中定义模型,也可以运行,而如果没有meta file,我们需要定义好模型,再加载data file,得到变量值.
index file为一个 string-string table,table的key值为tensor名,value为BundleEntryProto, BundleEntryProto.
data file保存了模型的所有变量的值.