我的验证准确度低于训练准确度。outputoftrainandvalidationaccuracy 如何获得与训练准确度相差不大的更好的验证准确度?谢谢。
我的问题是使用深度迁移学习模型对胸部 X 射线图像(四类类别)进行分类。我总共使用了四个类别类别的 4593 张胸部 X 射线图像,其中 2755(60%) 张图像用于训练 1838(40%) 张图像用于测试。我也用于训练和测试 80%-20% 和 70%-30% 的样本,但准确率低于 60%-40% 的样本。此模型中的批量大小为 32,不。 50 个时期,学习率为 1e-5。
模型
from tensorflow.keras.applications import ResNet50V2
conv_base = ResNet50V2(weights='imagenet',
include_top=False,
input_shape=(224, 224, 3))
conv_base.trainable = True
model = models.Sequential()
model.add(conv_base)
model.add(layers.Flatten())
model.add(layers.Dropout(0.1))
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dense(4, activation='softmax'))
model.compile(loss='categorical_crossentropy', #for multiclass use categorical_crossentropy
optimizer=optimizers.Adam(lr=LEARNING_RATE),
metrics=['acc'])
模型总结
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
resnet50v2 (Functional) (None, 7, 7, 2048) 23564800
_________________________________________________________________
flatten (Flatten) (None, 100352) 0
_________________________________________________________________
dropout (Dropout) (None, 100352) 0
_________________________________________________________________
dense (Dense) (None, 256) 25690368
_________________________________________________________________
dense_1 (Dense) (None, 4) 1028
=================================================================
Total params: 49,256,196
Trainable params: 49,210,756
Non-trainable params: 45,440
_________________________________________________________________