Keras 层文档指定了卷积层的输入和输出大小:https://keras.io/layers/卷积/ https://keras.io/layers/convolutional/
输入形状:(samples, channels, rows, cols)
输出形状:(samples, filters, new_rows, new_cols)
内核大小是一个空间参数,即仅确定宽度和高度。
所以输入c
通道将产生一个输出filters
渠道无论价值c
。因此,它必须应用具有空间的 2D 卷积height x width
过滤,然后以某种方式聚合每个学习过滤器的结果。
这个聚合运算符是什么?是跨渠道的总和吗?我能控制吗?我在 Keras 文档中找不到任何信息。
- 请注意,在 TensorFlow 中,过滤器也在深度通道中指定:https://www.tensorflow.org/api_guides/python/nn#Convolution https://www.tensorflow.org/api_guides/python/nn#Convolution,
所以深度操作就一目了然了。
Thanks.
它的名字可能会令人困惑Conv2D层(对我来说,这就是我来寻找这个答案的原因),因为正如 Nilesh Birari 评论的那样:
我猜你错过了它的 3D 内核 [宽度、高度、深度]。所以结果是跨渠道的求和。
或许是2D源于这样一个事实:内核仅slides沿着二维,第三维是固定的,由输入通道的数量(输入深度)决定。
如需更详细的解释,请阅读https://petewarden.com/2015/04/20/why-gemm-is-at-the-heart-of-deep-learning/ https://petewarden.com/2015/04/20/why-gemm-is-at-the-heart-of-deep-learning/
我从那里摘了一张说明性图片:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)