我正在制作一个包含约2445张图像和21个类别的图像分类模型。我无法将验证准确率从68%提高。
输入图像的大小被重新转换为75 x 75像素的灰度。该体系结构使用了两个隐藏的卷积层,我尝试添加另一个相同的层,这对提高验证准确性没有帮助。
如何处理像素大小或体系结构以提高验证准确性?
第20个时期的输出是:
loss: 0.0694 - acc: 0.9779 - val_loss: 1.6924 - val_acc: 0.6801'''
模型的架构是
model=Sequential()
第一层
model.add(Conv2D(64,(3,3),input_shape=X.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.3))
第二层
model.add(Conv2D(64,(3,3),input_shape=X.shape[1:]))
model.add(Activation("relu"))
model.add(MaxPooling2D(pool_size=(2,2)))
model.add(Dropout(0.3))
model.add(Flatten())
model.add(Dense(64))
model.add(Activation("relu"))
model.add(Dense(num_classes))
model.add(Activation("softmax"))
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics['accuracy'])
model.fit(X,y_new,batch_size=32 ,epochs = 20, validation_split=0.1
答案 0 :(得分:1)
mean = np.mean(x_train)
stddev = np.std(x_train)
x_train = (x_train - mean)/stddev
x_test = (x_test - mean)/stddev
答案 1 :(得分:0)
实际上,转换为灰度或像素变化的图像不是由keras模型的各层处理的,它取决于您传递用于训练的数据以及正在执行的预处理(如果有)。因此,请在X和y_new处检查输入数据,或在问题本身中显示那部分代码。