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个功能
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)
时是这样吗?