Gri*_*ock 2 python neural-network conv-neural-network keras
我是Keras的新手,正在学习构建卷积神经网络模型。我正在使用MNIST数据集。
(X_train, y_train), (X_test, y_test) = mnist.load_data()
Run Code Online (Sandbox Code Playgroud)
经过构建和评估,我获得了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)
Run Code Online (Sandbox Code Playgroud)
现在,我想通过选择一个随机图像,使用matplotlib打印它,然后使用学习的模型进行预测来手动检查结果。例如,X_test [39]数据如下所示。
print(model.predict(X_test[39],verbose=2))
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此操作时,它会要求我将预处理的数据转换为conv2d数据,因为模型正在对其进行转换。如何将这种转换手动应用于测试数据?
ValueError: Error when checking : expected conv2d_1_input to have 4 dimensions, but got array with shape (1, 28, 28)
Run Code Online (Sandbox Code Playgroud)
该模型不进行任何转换,网络获取一批具有形状的图像(num_samples, channels, width, height)。在这种情况下,您只有一个样本,因此应num_samples通过添加新维度将其设置为一个样本:
sample = X_test[39]
model.predict(sample[np.newaxis, :, :, :])
Run Code Online (Sandbox Code Playgroud)
或者,您也可以将样本数组重塑为(1, 1, 28, 28)。
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |