解决TensorFlow训练模型及保存数量限制的问题

时间:2022-08-25 16:09:21

每次卷积神经网络训练的结果都只保存了最后一部分,查阅了一下相关资料,发现是定义saver时采用的默认值,这里进行如下设置:

?
1
2
3
4
5
6
7
8
9
10
11
saver
=
tf.train.Saver(
max_to_keep
=
100
,
keep_checkpoint_every_n_hours
=
1
)

补充:解决TensorFlow只能保存5个模型的问题

直奔主题

在训练模型的代码中找到这句代码:tf.train.Saver(),

改成:

?
1
tf.train.Saver(max_to_keep = m) # m为你想保存的模型数量

扩展

Saver类中的可选参数

?
1
tf.train.Saver(max_to_keep = m, keep_checkpoint_every_n_hours = n)

max_to_keep保存离当前训练最近的模型数量,默认值为5。如果想全部保存,并且电脑内存够用,设成多大都可以。

keep_checkpoint_every_n_hours每隔n个小时保存一次模型,默认值为10,000(一般情况下应该不会训练这么长时间,所以相当于是不会按照时间来保存,按照设置的epoch保存节点数来保存)。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/weixin_41863859/article/details/80222306