[英]Size of output of a Conv1D layer in Keras
我试图了解一维卷积层的 output 应用于多个批次(在本例中为 3 个)二维输入形状(6x6)。
下面代码的 output 是(4, 10, 32)
。 对于前 2 个指数,这个答案非常简单。
filters
参数在 Conv1D 层中的实际作用是什么? 对我来说,该层如何操作最终的 output 对我来说并不是很直观,如下面的短语所述。根据文档,这应该是 output 形状
Output 形状:3+D 张量,形状:batch_shape + (new_steps, filters) 由于填充或步幅,步骤值可能已更改。
input_shape = (4, 10, 128)
x = tf.random.normal(input_shape)
y = tf.keras.layers.Conv1D(
32, 3, input_shape=input_shape[1:])(x)
print(y.shape) # (4, 10, 32)
你的前两个陈述是正确的。 过滤器可以看作是对序列执行卷积的次数。
在下图中,您可以看到执行的操作。 左边的 object 代表您的输入,中间的 kernel(大小为 (3,1)),右边的 output。
因此,过滤器的数量是处理此操作的次数。 然后将输出堆叠起来,并在下一个卷积层重复该过程。
不幸的是,我没有找到任何可以很好地理解 conv1D 的表示。 这个,对于 Conv2D,解释了与 Conv1D 相同的过程。 (inuth_depth = 3 和 number_filters = output_depth = 2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.