Python Keras卷积1D输入形状

Python Keras卷积1D输入形状,python,tensorflow,keras,deep-learning,Python,Tensorflow,Keras,Deep Learning,我试图用以下方法构建一个简单的卷积神经网络: 340个样本 每个样本260行 每行16个功能 我认为形状的顺序是(批量大小、步骤、输入尺寸),这意味着我相信是(340、16260) 当前代码: model = Sequential() model.add(Conv1D(64, kernel_size=3, activation='relu', input_shape=(340, 16, 260))) # model.add(Conv2D(64, 2, activation='relu'))

我试图用以下方法构建一个简单的卷积神经网络:

  • 340个样本
  • 每个样本260行
  • 每行16个功能
我认为形状的顺序是(批量大小、步骤、输入尺寸),这意味着我相信是(340、16260)

当前代码:

model = Sequential()
model.add(Conv1D(64, kernel_size=3, activation='relu', input_shape=(340, 16, 260)))
# model.add(Conv2D(64, 2, activation='relu'))
model.add(MaxPooling1D())
# model.add(Conv2D(128, 2, activation='relu'))
model.add(Conv1D(64, kernel_size=3, activation='relu'))
model.add(GlobalAveragePooling1D())
model.add(Dense(1, activation='linear'))

model.compile(loss='binary_crossentropy',
              optimizer='rmsprop',
              metrics=['accuracy'])

model.summary()

model.fit(xTrain, yTrain, batch_size=16, epochs=1000)
我得到一个错误:

ValueError:输入0与层conv1d_1不兼容:预期ndim=3,发现ndim=4

我很迷茫,我相信我的形状是错的。有人能帮我吗? 谢谢大家!

如Keras中的层所述,接受两个参数:
input\u-shape
batch\u-input\u-shape
。区别在于
input\u shape
不包含批量大小,而
batch\u input\u shape
完整的输入形状,包括批量大小


基于此,我认为规范
input\u shape=(340,16260)
告诉keras希望得到一个四维输入,这不是您想要的。正确的参数应该是
batch\u input\u shape=(340,16,260)

这似乎不起作用,错误现在是:ValueError:error when check input:expected conv1d\u 1\u input有shape(16260)但得到了shape(260,16)的数组使用
batch\u input\u shape=(340,16,260)
时是这样吗?