使用keras进行图像分类时如何稳定损失

时间:2019-10-23 10:00:53

标签: tensorflow keras

我使用keras进行图像分类,我有10个类别,每个图像有约900个图像,我使用VGG 16并建立在这个小型网络的基础上

model = Sequential()
model.add(Flatten(input_shape=train_data.shape[1:]))
model.add(Dense(256, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))

使用50 epoch

进行的培训
model.compile(optimizer='rmsprop',
                  loss='categorical_crossentropy', metrics=['accuracy'])

我得到了以下的赞誉和损失

[INFO] accuracy: 94.72%
[INFO] Loss: 0.45841544931342115

还不确定如何稳定损失,我应该增加时期,还是需要更改其他参数?

accuracy and loss

1 个答案:

答案 0 :(得分:0)

由于最初的val波动,我认为您忘记冻结主要的VGG模型,而只是训练您添加的Dense堆栈层。 实际上,最好使用2D Global Ave Polling而不是展平。

如果问题没有解决,请尝试使用更有效的经过预先训练的CNN架构,例如MobileNet V2或Xception