模型的训练,验证和测试准确性都很好。但是测试图像的所有预测结果都属于0类吗?

时间:2019-01-02 09:05:44

标签: python keras

我正在创建一个分类器,以识别属于特定类别的图像。我已经使用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

请告诉我我要去哪里错了!     预先感谢。

0 个答案:

没有答案