tensorflow(三) 模型保存

tensorflow最简单的保存与加载模型的方法是Saver对象(存放在tensorflow.train)。构造器给graph所有的变量,或者定义在列表中的变量,添加save和restore的操作,分别为保存和加载。变量保存在二进制的文件中,主要包含的是从变量名到tensor值的映射关系。

保存变量
通过下面的一段代码穿件Saver对象来管理模型中的变量(默认情况下是所有的变量,也可以自行选择)。

import tensorflow as tf v1 = tf.Variable(tf.random_normal([1,2]), name="v1") v2 = tf.Variable(tf.random_normal([2,3]), name="v2") init_op = tf.initialize_all_variables() saver = tf.train.Saver() with tf.Session() as sess:     sess.run(init_op)     saver_path = saver.save(sess, "/home/yang/data/model.ckpt")     print "Model saved in file: ", saver_path

恢复变量
用同一个Saver对象来恢复变量,注意,当你从文件恢复变量是,不需要对它进行初始化,否则会报错。

import tensorflow as tf v1 = tf.Variable(tf.random_normal([1,2]), name="v1") v2 = tf.Variable(tf.random_normal([2,3]), name="v2") saver = tf.train.Saver()  with tf.Session() as sess:     saver.restore(sess, "/home/yang/data/model.ckpt")     print "Model restored"