时间:2021-05-22
在使用TensorFlow的过程中,保存模型参数变量是很重要的一个环节,既可以保证训练过程信息不丢失,也可以帮助我们在需要快速恢复或使用一个模型的时候,利用之前保存好的参数之间导入,可以节省大量的训练时间。本文通过最简单的例程教大家如何保存和读取.ckpt文件。
一、保存到文件
首先是导入必要的东西:
import tensorflow as tfimport numpy as np随便写几个变量:
# Save to file# remember to define the same dtype and shape when restoreW = tf.Variable([[1,2,3],[3,4,5]], dtype=tf.float32, name='weights')b = tf.Variable([[1,2,3]], dtype=tf.float32, name='biases') init= tf.initialize_all_variables()定义一个saver,来存储我们的各种变量:
saver = tf.train.Saver()保存的文件用.ckpt后缀:
with tf.Session() as sess: sess.run(init) save_path = saver.save(sess, "my_net/save_net.ckpt") print("Save to path: ", save_path)上面我们就完成了保存操作。
接下来我们要把之前保存过的变量取出来。
二、取出之前保存的变量
这里要注意,取出时要先开辟一个容器来装,shape和type要和我们之前保存的.ckpt一样。
# restore variables# redefine the same shape and same type for your variablesW = tf.Variable(np.arange(6).reshape((2, 3)), dtype=tf.float32, name="weights")b = tf.Variable(np.arange(3).reshape((1, 3)), dtype=tf.float32, name="biases")restore时,不需要进行init= tf.initialize_all_variables()操作。
利用saver提取文件:
saver = tf.train.Saver()with tf.Session() as sess: saver.restore(sess, "my_net/save_net.ckpt") print("weights:", sess.run(W)) print("biases:", sess.run(b))结果:
以上这篇TensorFlow Saver:保存和读取模型参数.ckpt实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、TensorFlow常规模型加载方法保存模型tf.train.Saver()类,.save(sess,ckpt文件目录)方法参数名称功能说明默认值var_l
tensorflow在保存权重模型时多使用tf.train.Saver().save函数进行权重保存,保存的ckpt文件无法直接打开,不利于将模型权重导入到其他
一、TensorFlow模型保存和提取方法1.TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提取。tf.train.Saver对
tensorflow模型保存为saver=tf.train.Saver()函数,saver.save()保存模型,代码如下:importtensorflowas
使用tensorflow训练模型时,我们可以使用tensorflow自带的Save模块tf.train.Saver()来保存模型,使用方式很简单就是在训练完模型