new*_*e99 2 python keras tensorflow
我试图理解应用于多个批次(本例中为 3 个)2D 输入形状 (6x6) 的 1D 卷积层的输出。
下面代码的输出是(4, 10, 32)。对于前两个指数来说,这个答案非常简单。
filtersConv1D 层中参数的实际作用是什么?对于我来说,该层如何操作最终输出(如下面的短语所述)并不是很直观。根据文档,这应该是输出形状
输出形状: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)
Run Code Online (Sandbox Code Playgroud)
你的前两个陈述是正确的。过滤器可以看作是对序列执行卷积的次数。
在下图中,您可以看到所执行的操作。左边的对象代表你的输入,中间的对象代表你的内核(大小为 (3,1)),右边的对象代表你的输出。
因此,过滤器的数量就是处理该操作的次数。然后将输出堆叠起来,并在下一个卷积层中重复该过程。
不幸的是,我没有找到任何表示来很好地理解 conv1D。这一篇针对 Conv2D,解释了与 Conv1D 相同的过程。(inuth_深度 = 3 且 number_filters = 输出深度 = 2)
| 归档时间: |
|
| 查看次数: |
6435 次 |
| 最近记录: |