首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二维输入的Conv1D

二维输入的Conv1D
EN

Stack Overflow用户
提问于 2017-03-29 10:46:55
回答 2查看 5.3K关注 0票数 6

有人能向我解释当一个角星Conv1D层被输入到2D时会发生什么吗?例如:

代码语言:javascript
复制
model=Sequential()
model.add(Conv1D(input_shape=(9000,2),kernel_size=200,strides=1,filters=20))

在(9000,1)和(9000,2)之间更改输入大小并调用model.summary(),我看到输出形状保持不变,但参数的数量会发生变化。那么,这是否意味着为每个通道训练不同的滤波器,但是输出在输出前要经过第二维的求和/平均?不然呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-29 15:13:05

在医生里您可以读到输入必须是2D的。

Conv1D可以看作是一个时间窗口,通过一系列向量.内核将是二维窗口,与向量长度一样大(输入的第二维度),并且与您的窗口大小一样长。

所以这是完全正常的,你的两个网络有相同的输出形状.由于核的尺寸是第二维的2倍,所以参数的个数更大。

我希望这会有所帮助:)

票数 2
EN

Stack Overflow用户

发布于 2017-03-29 16:10:41

这是一个直观的例子

代码语言:javascript
复制
kernel_size = (2, )

------------- 
| 1 1 1 1 1 |                <---- kernel dim = kernel_size X 5
| 2 2 2 2 2 |
-------------
  3 3 3 3 3 



--------------------------
| 1 1 1 1 1 1 1 1 1 1 1 1 |  <---- kernel dim = kernel_length X 12
| 2 2 2 2 2 2 2 2 2 2 2 2 |        i.e more params! but after 
--------------------------         you apply say MaxPool1D(pool_size=(2,2))
  3 3 3 3 3 3 3 3 3 3 3 3          in both cases, then layer shapes from here
                                   on out are the same, thus same outputs!
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43091358

复制
相关文章

相似问题

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