我正在创建一个分类器,以识别属于特定类别的图像。我已经使用ResNet50的转移学习来构建我的模型。我冻结了所有图层,并添加了最后一层。类的总数为5。但是所有测试图像给出的预测都属于类0。在训练之前,我正在对训练进行数据增强并验证数据。
base_model = ResNet50(weights='imagenet',include_top=False, input_shape = (img_width, img_height, 3))
# Top Model Block
u = base_model.output
u = GlobalAveragePooling2D()(u)
u = Dense(256, activation='relu', name='fc1')(u)
u = Dropout(0.5)(u)
predictions = Dense(nb_classes, activation='softmax', name='predictions')(u)
#freezing the layers
for layer in base_model.layers:
layer.trainable = False
#augmenting the train and validation data
train_datagen = ImageDataGenerator(rescale=1. / 255,
rotation_range=transformation_ratio,
shear_range=transformation_ratio,
zoom_range=transformation_ratio,
cval=transformation_ratio,
horizontal_flip=True,
vertical_flip=True)
validation_datagen = ImageDataGenerator(rescale=1. / 255)
#prediction report
predicted1 = model.predict(x1_test)
result: array([0, 0, 0, ..., 0, 0, 0])
我的训练准确度是72.9%,测试准确度是72.6% 注意:纪元数= 10
请告诉我我要去哪里错了! 预先感谢。