向预训练的 Mobilenet 模型添加密集层后精度下降

Accuracy is dropped after adding a dense layer to a pretrained Mobilenet model

我有以下代码,利用 mobilenetv2 进行两个 class class化。添加2个单元的致密层后,准确率大幅下降至45%。我无法弄清楚可能是什么问题,我更改了优化器,但准确性仍然没有提高。我的训练数据集是 2000,有两类,猫和狗。

custom= MobileNetV2(input_shape=None,
                   alpha=1.0,
                   include_top=True,
                   weights='imagenet',     
                   input_tensor=None,
                   pooling=None,
                   classes=1000,
                   classifier_activation='softmax')
   x= custom.output
   final_output=layers.Dense(2, activation='sigmoid')(x)
   model = keras.Model(inputs=custom.input, outputs = final_output)
   for layer in custom.layers:
     layer.trainable = False

   model.compile(optimizer="adam", loss='BinaryCrossentropy', metrics=['accuracy'],loss_weights=0.1)

加载预训练模型时可以使用include_top=False语句。此代码语句删除了预训练模型的最后一部分。