我有一个非常小的数据集,包含 567 张图像。我在迁移学习中使用了预训练模型 resnet50。但是,只要我适合我的模型,它就会给我 100% 的准确率、100% 的验证准确率,并且在每个 epoch 损失和验证损失中都变为负数。评估显示我的输出准确率为 100%,损失为 -5915788.088888888。这是出乎意料的结果。怎么了 ?有可能还是我的模型输出不好?我使用了如下模型:
def Transfer():
model = Sequential()
model.add(ResNet50(include_top = False, pooling = 'avg', weights = 'imagenet'))
model.add(Dropout(0.4))
model.add(Dense(3, activation = 'softmax'))
model.layers[0].trainable = False
sgd = optimizers.SGD(lr = 0.01, decay = 1e-6, momentum = 0.9, nesterov = True)
model.compile(optimizer = sgd, loss = 'categorical_crossentropy', metrics = ['accuracy'])
return model