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

 saver 
 =
 tf.train.Saver(
 max_to_keep
 =
 100
 ,
 keep_checkpoint_every_n_hours
 =
 1
 )

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

直奔主题

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

改成:

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

扩展

Saver类中的可选参数

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保存节点数来保存)。

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。