【问题标题】:Keras training and trainable attribute in BN LayerBN层中的Keras训练和可训练属性
【发布时间】:2021-03-01 10:08:42
【问题描述】:

如上所述here

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

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

【问题讨论】:

    标签: tensorflow keras deep-learning neural-network


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-20
      • 2021-01-15
      • 2017-10-07
      • 1970-01-01
      • 2019-11-02
      • 2023-03-13
      相关资源
      最近更新 更多