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