我正在从事关于图像分类(两个类)的个人项目,并试图了解 MobileNet v2 结构的性能。虽然在第一个 epoch 之后训练的训练准确度已经很高,之后继续增加。然而,验证准确率似乎永远停留在 50% 左右。
我已经尝试过将 SGD、Adam 和 RMSprop 作为优化器,但是它们都产生了相同的结果。我还使用了带有和不带有 ImageNet 权重的 MobileNet v2,没有看到任何区别。其他 CNN 架构工作得非常好,验证准确率高达 ~95%。我正在为我的模型使用以下代码:
from keras.applications import MobileNetV2
from keras.models import Sequential
from keras.layers import GlobalAveragePooling2D, Dropout, Dense
basemodel = MobileNetV2(input_shape=(128, 173, 3), include_top=False, weights=None)
model = Sequential(
[
basemodel,
GlobalAveragePooling2D(),
Dropout(0.5),
Dense(64, activation="relu"),
Dropout(0.3),
Dense(1, activation="sigmoid"),
]
)
model.compile(loss="binary_crossentropy", optimizer="sgd", metrics=["accuracy"])
是否有一些明显的东西我遗漏了,或者我只是为我的数据集使用了不正确的超参数?
