博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Tensorflow---Saver和restore的用法
阅读量:5115 次
发布时间:2019-06-13

本文共 1377 字,大约阅读时间需要 4 分钟。

Saver的作用是将我们训练好的模型的参数保存下来,以便下一次继续用于训练或测试;Restore的用法是将训练好的参数提取出来。

1.Saver类训练完后,是以checkpoints文件形式保存。提取的时候也是从checkpoints文件中恢复变量。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。

2.通过for循环,Saver类可以自动的生成checkpoint文件。这样我们就可以保存多个训练结果。例如,我们可以保存每一步训练的结果。但是为了避免填满整个磁盘,Saver可以自动的管理Checkpoints文件。例如,我们可以指定保存最近的N个Checkpoints文件。

应用实例:

#保存变量 import tensorflow as tf# 创建两个变量v1= tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="v_1")v2= tf.Variable(tf.zeros([200]), name="v_2")# 添加用于初始化变量的节点init_op = tf.global_variables_initializer()# Create a saver.saver = tf.train.Saver(tf.global_variables())# 运行,保存变量with tf.Session() as sess:    tf.global_variables_initializer().run()    for step in range(5000):        sess.run(init_op)            if step % 1000 == 0:        saver.save(sess,basicpath+'my-model', global_step=step)    print("v1 = ", v1.eval())    print("v2 = ", v2.eval())            print_tensors_in_checkpoint_file(basicpath+"my-model-0", None, True) #通过这个方法,我们可以打印出保存了什么变量和值。

恢复变量:

saver = tf.train.Saver()with tf.Session() as sess:    #tf.global_variables_initializer().run()    module_file = tf.train.latest_checkpoint('C:/Users/defadiannao/Desktop/saver/')        saver.restore(sess, module_file)    #print("w1:", sess.run(v3))      #print("b1:", sess.run(v4))    print("w1:", sess.run(v1))    print("b1:", sess.run(v2))

 

转载于:https://www.cnblogs.com/he307070513/p/6878665.html

你可能感兴趣的文章
ListView如何获取点击单元格内容
查看>>
jQuery EasyUI 的下拉选择combobox后台动态赋值
查看>>
timeline时间轴进度“群英荟萃”
查看>>
python if else elif statement
查看>>
网络编程
查看>>
文本隐藏(图片代替文字)
查看>>
three.map.control
查看>>
java面试题
查看>>
提高码力专题(未完待续)
查看>>
IOS第17天(3,Quartz2D画板和画线)
查看>>
pair的例子
查看>>
前端框架性能对比
查看>>
@property中 retain 详解
查看>>
java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合...
查看>>
Python爬虫个人记录(四)利用Python在豆瓣上写一篇日记
查看>>
jdk8 Function
查看>>
第二次作业
查看>>
迷茫中的自己
查看>>
burp suite 的intruder 四种攻击方式
查看>>
机器学习----人脸对齐的算法-ASM.AAM..CLM.SDM
查看>>