您可以将训练参数与 tf.keras.Model() 构造函数一起使用吗?

Can you use the training parameter with tf.keras.Model() constructor?

在使用 tf.keras.Model() 构造函数("functional" API)制作的模型中,是否可以获取传递给图层的 training 参数的正确值或者你必须继承 tf.keras.Model() 才能做到这一点?

我需要 training 才能 tf.keras.layers.BatchNormalization

简短回答:不是真的。
Keras Layer 具有您可以访问和修改的 trainable 参数。但这更多地用于冷冻重量。

至于 Sequential API,至于今天,关于 BatchNorm 在推理模式下的行为方式的文档很少。甚至还有一些未解决的 GitHub 问题 here and here.

tf.keras.Model() API 可以让您更好地控制流程以及图层的行为方式,所以如果您不关心 Saved Model 格式,我会坚持使用它。