tensorflow修改每次训练保存模型数量和间隔时间

最近使用tensorflow object detection api,发现训练只保存最新的五次模型,而且是每隔十分钟保存一次,于是就想怎么才能改掉这个默认值,找了好久最后终于找到了,记录一下。

关于多长时间保存一次,可以通过model_main.py里的最后这行tf.estimator.RunConfig来修改。

def main(unused_argv):
  flags.mark_flag_as_required('model_dir')
  flags.mark_flag_as_required('pipeline_config_path')
  config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, keep_checkpoint_max=0,  save_checkpoints_steps=300) # save_checkpoints_secs=500,

注意这里有两个参数,save_checkpoints_steps和save_checkpoints_secs,从名字就可以看出来,一个是多少step保存一次,一个是多少秒保存一次,这两个是不能同时使用的,如果这两个都不定义,会默认使用save_checkpoints_secs=600,也就是十分钟保存一次训练的模型。

以及这里我以为改变keep_checkpoint_max就可以更改保存模型的数目,结果试验多次甚至去run_config.py里修改都没有变化,又找了好久,发现可以通过更改E:\Anaconda3\envs\gtf36\Lib\site-packages\tensorflow_core\python\training\saver.py(这里是自己环境中tensorflow的路径)中的max_to_keep来改变保存模型的数目。

 

这个问题困扰了好久,tensorflow太复杂不知道从哪里找起,总算是解决了^ ^

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值