如何使用深度转移学习算法提高多类图像分类的验证精度?

2024-04-23 07:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我的验证精度低于训练精度。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
_________________________________________________________________