Python Keras CNN图像和内核大小不匹配,即使在图像变换后也无法匹配

Python Keras CNN图像和内核大小不匹配,即使在图像变换后也无法匹配,python,rgb,theano,conv-neural-network,keras,Python,Rgb,Theano,Conv Neural Network,Keras,我正在尝试运行一个类似于中的CNN,但用于自定义图像集和二进制分类,而不是10类输出 当我尝试适应CNN时,我得到了一个冗长的错误,我假设它告诉我我的输入图像大小不是CNN输入的正确大小 ValueError: GpuDnnConv images and kernel must have the same stack size Apply node that caused the error: GpuDnnConv{algo='small', inplace=True}(GpuContiguo

我正在尝试运行一个类似于中的CNN,但用于自定义图像集和二进制分类,而不是10类输出

当我尝试适应CNN时,我得到了一个冗长的错误,我假设它告诉我我的输入图像大小不是CNN输入的正确大小

ValueError: GpuDnnConv images and kernel must have the same stack size

Apply node that caused the error: GpuDnnConv{algo='small', inplace=True}(GpuContiguous.0, GpuContiguous.0, GpuAllocEmpty.0, GpuDnnConvDesc{border_mode='valid', subsample=(1, 1), conv_mode='conv', precision='float32'}.0, Constant{1.0}, Constant{0.0})
Toposort index: 130
Inputs types: [CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, 4D), CudaNdarrayType(float32, 4D), <theano.gof.type.CDataType object at 0x7f0eefc8d790>, Scalar(float32), Scalar(float32)]
Inputs shapes: [(32, 232, 300, 3), (300, 1, 3, 3), (32, 300, 298, 1), 'No shapes', (), ()]
Inputs strides: [(208800, 900, 3, 1), (9, 0, 3, 1), (89400, 298, 1, 0), 'No strides', (), ()]
Inputs values: ['not shown', 'not shown', 'not shown', <PyCObject object at 0x7f0efaba8e68>, 1.0, 0.0]
Inputs name: ('image', 'kernel', 'output', 'descriptor', 'alpha', 'beta')

我已经用这个把头撞到墙上够久了,我想可能是其他人有这个问题。有什么想法吗?提前感谢。

您将输入指定为
(深度、宽度、高度)
。因此,数组必须具有维度
(N,深度,宽度,高度)
,其中N是训练示例的数量


您实际传递的输入,
(4000、232、300、3)
,不匹配。应将其重塑为
(4000,深度、宽度、高度)
。这意味着您必须调整每个图像的大小,并对轴进行重新排序。

以上答案是正确的:对于子孙后代,我的问题通过一个简单的方法解决了:

im_list = im_list.transpose((0,3,1,2))
im_list = im_list.transpose((0,3,1,2))