在 tensorflow 2 中,使用 model.fit 是否会自动在 BatchNorm 层中设置 "training" 标志?

In tensorflow 2, does using model.fit automatically set the "training" flag in a BatchNorm layer?

我认为在tensorflow中使用batch normalization层时,重要的是在使用时设置training flag,在验证数据上设置为False,在训练时设置为True。这个对吗?如果是这样,model.fit 会自动推断出这个标志还是我应该手动设置它?如果可以,怎么做?

对于 TensorFlow 2,您不必显式设置训练标志,因为您将在 model.fit 中传递它。因此,只需正常使用批量归一化即可:

tf.keras.layers.BatchNormalization()