采用预训练模型,设置trainable为False的时候得排除BN,不然会出问题。
for layer in backbone.layers:
if not isinstance(layer, BatchNormalization):
layer.trainable = False
网上相关讨论:
https://github.com/keras-team/keras/issues/9522
https://blog.datumbox.com/the-batch-normalization-layer-of-keras-is-broken/