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

问题描述:

还有其他职位有类似的问题,但没有一个答案帮助我。我对这个CNN世界很陌生。keras重塑输入图像与CNN一起工作

我跟着this教程,用kenes使用theano作为后端和MNIST数据集来培训CNN。现在我想传递给CNN我自己的JPG图片,但我不知道如何重塑它。你能帮我吗?我在这个超级新。

到目前为止,我想这将重塑

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,身高= 28深度= 1。

+0

嗨,你有没有设法找到答案呢?我也有我自己的一套图像被塑造/调整大小以适应keras 28,28,1模型。我如何获得各种尺寸的图像以适应28,28,1?喂入未处理的图像时出现以下错误:ValueError:无法将大小为21600的数组重新整形(28,28,1) – emeralddove

尝试使用Numpy进行整形。因为,你已经被使用2D-卷积模型:

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

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

当您致电opencv阅读图片时,请使用下面的代码。 img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE)