n层的Keras训练和可训练属性



如上所述

然而,在BatchNormalization层的情况下,在层上设置trainable = False意味着该层随后将在推理模式下运行(这意味着它将使用移动平均值和移动方差来规范化当前批,而不是使用当前批的平均值和方差)。

如果我最初设置trainable = False,那么它将使模型在推理模式下运行,即上述官方文档中所述的training = False。但是,如果我在上述步骤后重置trainable = True会发生什么?training属性会重置为True吗?还是继续在推理模式下运行?

好的。所以,我从这里得到了答案

当您为了进行微调而解冻包含BatchNormalization层的模型时,您应该在调用基本模型时通过传递training=False来保持BatchNormalization层处于推理模式。否则,应用于不可训练权值的更新会突然破坏模型所学到的内容。

相关内容

  • 没有找到相关文章

最新更新