【发布时间】:2018-11-14 04:57:08
【问题描述】:
我有 12 个类(图像),每个类中分布不均匀的数据。
它们如下(所有图片):
X1 = 16
X2 = 203
X3 = 192
X4 = 220
X5 = 172
X6 = 143
X7 = 22
X8 = 89
X9 = 31
X10 = 89
X11 = 10
X12 = 204
我正在尝试使用给定的数据集训练 CNN。我想知道我是否应该只对数据较少的类或所有类应用数据增强?有没有人训练过和我类似的模型?另外,我应该使用哪种 CNN 架构?我已经使用了这个(通过对所有类应用数据增强),但我停止了,因为准确度在 14% 左右(我在第一个 epoch 之间停止了)
model = Sequential()
model.add(Conv2D(32, (3, 3), input_shape=input_shape)) # input_shape = (150,150)
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(12))
model.add(Activation('sigmoid'))
任何帮助将不胜感激。如果有人有任何提示,我想听听一些。最近让我很难受。
【问题讨论】:
标签: python machine-learning neural-network keras conv-neural-network