【发布时间】:2020-03-13 14:20:23
【问题描述】:
在我训练模型预测 24 个类别的标签,每个类别使用 2800 张图像并拍摄 5000 张图像进行验证后,我运行了一些测试来查看标签的预测质量,我设计了一个程序来获取所有图像在文件夹测试和预测标签中,所有类都很好,除了第 19 类,其中 1000 张图像用于测试,没有预测为 19
任何人都有解决方案
这是模型架构:
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=2,padding='same',activation='relu',input_shape=(32,32,1)))
model.add(MaxPooling2D(pool_size=2))
model.add(Conv2D(filters=64, kernel_size=2, padding='same', activation='relu'))
model.add(MaxPooling2D(pool_size=2))
model.add(Flatten())
model.add(Dense(1024, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(24, activation='softmax'))
model.summary()
这是优化器和训练器:
optimizer = rmsprop(learning_rate=0.0001)
model.compile(loss='categorical_crossentropy',optimizer= optimizer,metrics=['accuracy'])
checkpointer = ModelCheckpoint(filepath='CNN_newData.hdf5',verbose=1,
save_best_only=True)
hist = model.fit(x_train,y_train,batch_size=128,epochs=100,
validation_data=(x_valid,y_valid),callbacks=[checkpointer],
verbose=2,shuffle=True)
这就是为预测做准备的图像:
for img in images:
read_img = cv2.imread('test-images/' + file + '/' + img)
read_img = cv2.cvtColor(read_img,cv2.COLOR_RGB2GRAY)
read_img = read_img.reshape( -1,32, 32, 1)
read_img = read_img.astype('float32')/255
maxind = model.predict_classes(read_img)
【问题讨论】:
标签: python machine-learning keras conv-neural-network