keras后端conv2d错误

时间:2018-04-21 21:31:51

标签: python keras convolution

我正在尝试将keras.backend.conv2d函数用于我自己的内核,我收到以下错误。

img = data[0,:,0]
img = img.reshape(240, 320)

kernelX = np.array([[-1, 1], 
                    [-1, 1]])

img = K.constant(img)
kernelX = K.constant(kernelX)

I_x = K.conv2d(img, kernelX)
  

ValueError:输入通道数与对应的不匹配   过滤器尺寸,320!= 2

有人可以请我朝正确的方向努力吗?

1 个答案:

答案 0 :(得分:0)

虽然您没有指定使用哪个后端,但由于您的重新整形操作而引发错误。在这种情况下,keras将形状的最后一个元素解释为通道数。这意味着,它假设您的图像有240个像素,320个通道,而您的内核有两个通道。对于卷积,这些必须是相同的大小。

因此,您应该以某种方式创建图像和内核,以便您的图像具有形状(240,320,1)和形状内核(2,2,1)。