Tensorflow中使用tf.train.Saver()和saver.restore()进行参数的保存和重现

本文介绍了Tensorflow中使用Saver类进行模型参数保存和恢复的基本操作。Saver允许将模型的参数保存到checkpoint文件,并在后续训练或测试时恢复。在训练过程中,可以设置自动保存多个中间结果以防止磁盘空间被占满。在代码示例中,说明了`tf.train.Saver()`的写入位置以及`saver.restore()`的使用时机,强调了正确匹配变量名称的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Saver背景介绍

1.1我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提供了Saver类。


1.2.Saver类提供了向checkpoints文件保存和从checkpoints文件中恢复变量的相关方法。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。


1.3只要提供一个计数器,当计数器触发时,Saver类可以自动的生成checkpoint文件。这让我们可以在训练过程中保存多个中间结果。例如,我们可以保存每一步训练的结果。
为了避免填满整个磁盘,Saver可以自动的管理Checkpoints文件。例如,我们可以指定保存最近的N个Checkpoints文件。
(第3点的内容我还没有理解上,以后写好了再更新哈)

 

2.代码

2.1 tf.train.Saver()如何写

2.1.1写的位置

(1)在with tf.Session() as sess:这一句的前面写就行,不用再Session()会话中,例如下面:

checkpoint_steps = 1
check_dir='D:/train/'
saver = tf.train.Saver()


log_dir = "D:/Temp/logs4/"

with tf.Session() as sess:
    
    train_writer = tf.summary.FileWriter(log_dir + "train/", sess.graph)  # 记录默认
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值