首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras Convolution1D输入形状

Keras Convolution1D输入形状
EN

Stack Overflow用户
提问于 2018-06-12 04:14:13
回答 1查看 1K关注 0票数 0

我试图建立一个简单的卷积神经网络:

  • 340份样本
  • 每个样本260行
  • 每行16个特征。

我认为这个形状的顺序是(batch_size,steps,input_dim),这意味着(340,16,260)我相信。

当前代码:

代码语言:javascript
复制
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

我非常迷茫,并且相信我的形状已经消失了。有人能帮我吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-12 05:20:16

正如this answer中提到的,Keras中的层接受两个参数:input_shapebatch_input_shape。区别在于input_shape 不包含批处理大小,而batch_input_shape是完整输入形状,包括批处理大小。

基于此,我认为规范input_shape=(340, 16, 260)告诉keras需要一个4维的输入,这不是您想要的。正确的论点将是batch_input_shape=(340, 16, 260)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50809155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档