预测单个观察总是显示相同的类

时间:2019-06-21 21:44:33

标签: python keras deep-learning image-recognition

我正在尝试为Bangla角色制作OCR。我有168个不同的班级。为了预测每个角色,我的模型是

model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3),
                 activation='relu',
                 input_shape=(42,28,1)))
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(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))

它在我的测试集中表现良好。 我正在尝试预测一个实例,但是对于每个不同的实例,它显示的是相同的类输出。我读了以下单张图片

from PIL import Image
#location for single image
location='Bangla-Compound-Character-Recognition/data/2/ka.jpg'

#image size = (42x28) grayscale
image=np.array(Image.open(location)).reshape(42,28,1)
image=np.expand_dims(image,axis=0)
single_image_cls=model.predict_classes(image)
print(single_image_cls)

预测一个测试集实例将显示正确的结果,并且测试精度为90%

#predicting a single test instance
probablity=model.predict_classes(x_test[100:101])

1 个答案:

答案 0 :(得分:0)

在测试新图像时,您必须应用与训练集相同的归一化方法,通常将图像像素除以255:

single_image_cls=model.predict_classes(image / 255)