我正在研究一个多类问题的图像分类模型。我启动并运行模型,但当我尝试预测/测试模型时,它似乎只能识别4种图像类型中的1种(无论我如何更改模型,它都是同一类)。我的每个类的数据集非常小,但我确实使用imagegenerator来增加数据量。该模型应该能够识别图片上带有一些附加噪声的图像。你知道吗
我的挑战可以归结为:
我的模型是这样的:
model = Sequential()
model.add(Conv2D(32, (3, 3), padding='same', activation='relu', input_shape=(s1,s2,3), data_format = "channels_first"))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), padding='same', activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(50, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(4, activation='softmax'))
model.compile(loss='categorical_crossentropy',
optimizer='Adam',
metrics=['accuracy'])
img尺寸为250250,批次尺寸为16。你知道吗
检查acc和损耗曲线
你们有什么建议吗?你知道吗
提前谢谢!你知道吗
这是典型的过度装修。你需要严格限制你的模式和/或使用迁移学习来打击这种行为。对于约束选项,可以增加“dropout”并添加l2正则化。根据我的经验,l2正则化确实使NN的问题变得困难。对于迁移学习,您可以使用resnet并只训练最后2-3层。你知道吗
然而,没有什么比拥有更多的数据点更好的了。你知道吗
相关问题 更多 >
编程相关推荐