我基本上试图构建一个深层模型,其中包含许多卷积2d层,然后是maxpooling 2d,如下所示:
model.add(Convolution2D(128, 54, 7, input_shape=(1, 54, 180)))
model.add(MaxPooling2D(pool_size=(1, 3)))
model.add(Convolution2D(128, 1, 7))
model.add(MaxPooling2D(pool_size=(1, 3)))
但是,我收到以下错误:
文件“/home/user/anaconda2/lib/python2.7/site-packages/keras/engine/training.py”,第100行,在standardize_input_data str(array.shape)中)异常:检查模型输入时出错:预期convolution2d_input_1有4个维度,但得到了具有形状的数组(8000,180,54)Blockquote
但我遵循(样本,渠道,行,cols)规范 . 为什么会这样?
1 回答
您的输入数据似乎有错误的形状 . 您应该打印出要输入网络的数据的形状 .
看起来您的阵列是灰色输入图像,它们通常只使用2个维度,因为它们只有1个通道 . 因此,np数组的排序没有第三维 . 通常,您必须使用np.reshape或以其他方式分配数组来添加它 . 当我收到像你的错误消息时,我会尝试: