keras重塑输入图像以与CNN一起工作

2024-05-23 17:45:21 发布

您现在位置:Python中文网/ 问答频道 /正文

还有其他帖子也有类似的问题,但没有一个答案对我有帮助。我是CNN新来的。

我跟随this教程,使用Keras使用nano作为MNIST数据集的后端来训练CNN。现在我想把我自己的jpg图片传给CNN,但我不知道如何重塑它。你能帮帮我吗?我在这方面很新。

到目前为止,我试着重塑

image = np.expand_dims(image, axis=0) image = preprocess_input(image)

但在预测时会出现以下错误:

ValueError: Error when checking : expected conv2d_1_input to have shape (None, 1, 28, 28) but got array with shape (1, 3, 28, 28)

如您所见,我的CNN使用width=28,height=28和depth=1。


Tags: 数据答案imageinputnano图片教程this
2条回答

尝试使用Numpy进行整形。从那时起,您一直在使用二维卷积模型:

 image = np.reshape(image, (28, 1, 28, 1))

错误消息显示网络预期图像形状为1*28*28,但您的输入为3*28*28。我猜你输入的图像是彩色图像,3个通道(RGB),而网络需要一个灰色图像,一个通道。

当您调用opencv读取图像时,请使用下面的代码。 img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)

相关问题 更多 >