我是CNN DL的入门者。 在CNN代码期间,我遇到了此错误:
从1减去3导致的负尺寸 输入形状为[?,19,1,64]的'conv2d_3 / convolution'(op:'Conv2D'), [3,3,64,64]
我的图像数据显示300(w)
,855(h)
像素大小。
对于np数组转换,我在下面应用。
(width,height = 28)->>
img = cv2.resize(img, None, fx = img_width/img.shape[0], fy = img_height/img.shape[1])
x.append(img/256)
y.append(label)
然后,我使用此方法尝试了CNN:
model.add(Convolution2D(16,(3,3), border_mode='same', activation='relu', input_shape=x_train.shape[1:]))
x_train.shape[1:] = (80,10,3)
请帮助解决此错误。 谢谢您的阅读。
答案 0 :(得分:0)
您有一个形状为(19x1x64)的输入,其中64是通道数。这就是为什么您无法执行3x3卷积运算的原因。可能正在发生什么:
-您正在以错误的方式调整图像大小(因此尺寸为19x1x64,而不是您可能打算获得的28x28x3)。
如何解决呢?再次检查尺寸并在调整尺寸后打印图像形状,看看这是否是您想要的。