在训练前定义一个模型saver:
saver = tf.train.Saver()
然后在图后面将图保存到模型中:
saver.save(sess,'net/my_net.ckpt')
训练完成后对应路径下将会生成训练好的模型参数文件:
在调用训练好的模型参数时,使用restore将参数调用到图中:
saver.restore(sess,'net/my_net.ckpt')
之后运行图中网络的参数将会变为调用的训练好的参数。比如:
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
acc = sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels,keep_prob:1.0})
print(" Accuracy" + str(acc))
saver.restore(sess,'net/my_net.ckpt')
print(" Accuracy" + str(sess.run(accuracy,feed_dict={x:mnist.test.images,y:mnist.test.labels,keep_prob:1.0})))
得到以下结果:
前面是使用为载入训练好的模型时的准确率,后面时载入训练好的模型的准确率。