当前位置:首页 >> 脚本专栏

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

每次卷积神经网络训练的结果都只保存了最后一部分,查阅了一下相关资料,发现是定义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保存节点数来保存)。

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