【发布时间】:2017-03-23 14:27:48
【问题描述】:
我正在尝试学习在 python 中使用深度学习来分析 EEG 数据。不幸的是,我也是 python 新手,所以试图找到最简单的工具。这将我带到了 Keras。
更准确地说,我正在尝试实现以下管道:
到目前为止,我似乎被困在“S1”或“C2”周围。到目前为止的想法是:
EEG 数据的输入部分(我现在将使用 1 x 6000)
通过 20 个 1D 过滤器 (1x200) 运行它
- 使用池 20、步长 10 对每个过滤的输出进行最大池化(产生 20 个 1x578 数据点)
- “堆叠”到 20 x 578 矩阵中
- 通过内核大小为 20 x 30 的 2D 卷积运行此操作
但是,下面的代码给了我以下错误:
model = Sequential()
model.add(Conv1D(input_shape=(1,6000), kernel_size=200,strides=1,
activation='sigmoid',filters=20))
model.add(MaxPooling1D(pool_size=20, strides=10,padding='same'))
model.add(Conv2D(filters=400,kernel_size=(20,30),strides=(1,1),activation='sigmoid'))
输出:
ValueError: Input 0 is incompatible with layer conv2d_4: expected ndim=4, found ndim=3
我确信这是一个小错误,但是阅读 keras 文档并没有让我变得更聪明。
我意识到上面跳过了“堆叠”过程,但我能找到的最接近的东西是 Concatenate,它只是抱怨我没有给它任何输入。
我正在使用 theano 0.9.0.dev 和 keras 2.0.2
【问题讨论】:
标签: python keras keras-layer