保存两个变量的模型,使用Saver类:
v1 = tf.Variable(tf.constant(1.0,shape=[1]), name="v1")
v2 = tf.Variable(tf.constant(2.0,shape=[1]),name="v2")
result = v1 + v2
init_op = tf.global_variables_initializer()
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(init_op)
# 注意jupyter默认的运行目录为根目录
saver.save(sess, "path/to/model/model.ckpt")
.meta保存了Tensorflow计算图的结构,即是存储网格结构
.data和.index这是一个二进制文件,包含所有权重,偏置,梯度和所有其他存储的变量的值。存储训练好的参数。
checkpoint保存最后的检查点文件,就是保存最新的模型。
使用Saver.restore()加载已经保存的模型,并通过已经保存的变量,得到这个变量直接计算
也可以利用saver = tf.train.import_meta_graph()函数直接加载持久化的图,通过张量名称来获取张量
注意;saver.export_meta_graphsaver.export_meta_graph()将meta转换成json则可以查看里面的值
可以使用tf.train.NewCheckpointReader类来查询保存的变量信息,包括变量类型和值。