我是Keras的新手,我正在学习构建卷积神经网络模型。我正在使用MNIST数据集。如何根据CNN中的模型转换测试数据?
(X_train, y_train), (X_test, y_test) = mnist.load_data()
建立和评估后,我获得了99%以上的准确度。
model = NN_model() # Sequential model built with multiple Convolution and pooling layers
model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=3, batch_size=200, verbose=2)
scores = model.evaluate(X_test, y_test, verbose=0)
现在,我想通过拾取随机图像,打印出来使用matplotlib,然后使用学习的模型预测其手动检查结果。例如,X_test [39]数据看起来像this。
print(model.predict(X_test[39],verbose=2))
当我尝试这样做,它要求我到预先处理过的数据转换成conv2d数据,该模型将其转换。如何手动对测试数据应用此转换?
ValueError: Error when checking : expected conv2d_1_input to have 4 dimensions, but got array with shape (1, 28, 28)
标准Keras使用'channels_last'(除非用户明确地改变了它),这意味着形状应该是'(1,28,28,1)'。 –
@Daniel阅读问题中的错误信息,它已经是(1,1,28,28)。 –
@Daniel它(1,28,28)丢弃第一维(X_test [39])后。 –