Deep learning Keras卷积2D层输入形状

Deep learning Keras卷积2D层输入形状,deep-learning,theano,keras,keras-layer,Deep Learning,Theano,Keras,Keras Layer,我基本上是在尝试构建一个深度模型,该模型由许多卷积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))) 但是,我得到以下错误:

我基本上是在尝试构建一个深度模型,该模型由许多卷积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行,标准化\u输入\u数据 strarray.shape异常:检查模型输入时出错:预期卷积2D_输入_1有4个维度,但得到数组 形状为8000、180、54 大宗报价


但我遵循样本、通道、行和列的标准。为什么会发生这种情况?

您的输入数据的形状似乎不正确。您应该打印出输入网络的数据的形状

看起来您的阵列是灰色输入图像,它们通常只使用二维,因为它们只有一个通道。因此,np数组在没有第三维的情况下是有序的。通常,您必须使用np.reforme或以另一种方式分配数组来添加此项。当我收到类似您的错误消息时,我会尝试:

X # training data
X = np.transpose(X, (0, 2, 1))
X = np.reshape(X, (X.shape[0], 1, X.shape[1], X.shape[2]))

我的输入数据是文本。谢谢你的建议,我打算试试看是否能解决这个问题。