首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow检查点为每个步骤保存

Tensorflow检查点为每个步骤保存
EN

Stack Overflow用户
提问于 2021-08-24 08:35:09
回答 2查看 178关注 0票数 0

我正在使用Tensorflow对象检测来训练一个两类模型。在训练时,训练从0开始,分100步进行(每100步可以看到日志),当步数达到1000 (按100,200,300,400,500....steps)时,它会执行评估,我可以在tensorboard中查看结果。在1000步之后,每一步都会保存检查点,如1001,1002,1003,...而且每一步都会进行评估。这一切为什么要发生?

Tensorflow版本: nvidia-tensorflow 1.15

培训基于:https://colab.research.google.com/github/google-coral/tutorials/blob/master/retrain_ssdlite_mobiledet_qat_tf1.ipynb

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-27 12:39:43

我找到了一个解决方案,但不是很深入。

在"python3.6/site-packages/tensorflow_estimator/python/estimator/run_config.py“下的python文件"run_config.py”中,有一个名为"save_checkpoints_steps“的变量,它被分配了一个值"_USE_DEFAULT",在将其更改为1000之后,没有任何问题,检查点只为每1000个检查点保存一次。

我仍然不明白为什么"_USE_DEFAULT“要为每一步保存检查点

票数 1
EN

Stack Overflow用户

发布于 2021-08-26 10:39:06

我不确定1000之后每一步的权重是否会被节省下来。

在trainer.py中,如果您正在使用基于超薄的。如果您想要更改.ckpt型号的编号,则必须将第370行更改为:

代码语言:javascript
复制
saver = tf.train.Saver(
keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours, max_to_keep=10)

在这种情况下,您将保留最后10个.ckpt

如果要更改.ckpt的频率,则必须在slim.learning.train内部添加(第397行)

代码语言:javascript
复制
save_interval_secs=X

其中X是以秒为单位的频率

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68904281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档