gpt4 book ai didi

python - 使用 Saver 参数 `keep_checkpoint_every_n_hours` 的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-01 07:52:52 24 4
gpt4 key购买 nike

我想在训练期间每 5 小时保存一次 tensorflow 变量。

所以,根据 Tensorflow Saver doc ,我用参数 keep_checkpoint_every_n_hours=5 构造了 saver = Saver,并为学习的每一步调用了 saver.save()。因此,我期望的是保护程序模块以某种方式检测开始训练后耗时,并每 5 小时保存一次模型,而不是为调用它的每个步骤实际保存模型。

下面简化了我如何使用该功能。

sess = tf.Session()
model = Model(sess)
saver = tf.train.Saver(max_to_keep=5,
keep_checkpoint_every_n_hours=5)

step_count = 0
max_step = 10000

while step_count < max_step:
model.train()
saver.save(sess, 'model', global_step=step_count)
step_count += 1

但是,我发现通过这样做,每次调用函数时都会保存模型。

我想我遗漏了一些东西或者没有以正确的方式使用它。我想知道使用te​​nsorflow Saver功能的正确方法。

提前谢谢您。

最佳答案

max_to_keep参数指定每次保存一个检查点,但一次最多保留5个检查点。

keep_checkpoint_every_n_hours 另一方面指定每 N 小时保存一个检查点并且不会被删除或覆盖。

因此,我建议使用 keep_checkpoint_every_n_hours 以防您的训练需要很长时间并且可能会出现偏差。因此,如果最后 5 个检查点变得同样无用,您可以恢复到最多 N 小时前的检查点。

关于python - 使用 Saver 参数 `keep_checkpoint_every_n_hours` 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56106447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com