gpt4 book ai didi

python - 如何在 train_on_batch nan 更新后将 keras 模型恢复到之前的历元权重

转载 作者:太空宇宙 更新时间:2023-11-03 21:13:51 25 4
gpt4 key购买 nike

在我进行了导致某些权重为 nan 的 train_on_batch 更新后,我无法将我的 keras 模型重置为上一个时期的权重。

我尝试在每个训练步骤后保存模型权重,然后在 nan 训练更新后将“良好”(非 nan)权重加载回 keras 模型。这似乎工作正常 - 当我在将旧权重文件加载到模型中后打印 model.get_weights() 的结果时,生成的权重不包含 nan(并且使用它们进行预测也会给出非 nan 输出)。

但是,现在当我再次尝试 train_on_batch 时,这次使用新批处理,我立即再次获得 nan 更新。我尝试过多个随机选择的批处理,并且每次都会发生 nan 更新。

当发生 nan train_on_batch 更新时,模型或优化器配置中是否有某些内容(可能是参数)发生变化,需要重置以便在更改权重后继续训练?

我还想避免在解决方案中使用 model.save() 和 load_model()。

(keras 2.2.4, tensorflow 1.12.0)

任何想法都值得赞赏!

最佳答案

由于您还没有粘贴代码和权重,我无法告诉您太多信息,但我怀疑这个问题可能是由于丢失或正则化造成的,如果您使用这两种技术中的任何一种,请正确设置参数或丢失百分比根据您的网络,小型网络中的高比例会导致与正则化相同的此类问题。并使用检查点来恢复和保存模型。

关于python - 如何在 train_on_batch nan 更新后将 keras 模型恢复到之前的历元权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54856754/

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