Tensorflow---Saver和restore的用法

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值