简体   繁体   English

在Tensorflow中的卷积层(Conv1D和Conv2D)中,设置padding='same'时,哪边填充0?

[英]In the convolution layer (Conv1D and Conv2D) in Tensorflow, when set padding='same', which side is padded with 0?

In tf.keras.layers.Conv1D and Conv2D , the argument padding has the 'same' option.tf.keras.layers.Conv1DConv2D ,参数padding'same'选项。 I just want to know eg, Conv1D , which side (the start or the end) is padded with 0 if the kernel_size=2 and stride=1.我只想知道,例如, Conv1D ,如果 kernel_size=2 和 stride=1,哪一侧(开始或结束)用 0 填充。

In case of Conv1D ,Conv1D情况下,

If the Number of Columns to be added (for padding, p_i ) is even, both the Left and Right Sides will be Padded with 0, uniformly.如果要添加的列数(对于填充, p_i )是偶数,则左侧和右侧都将统一填充 0。

If the Number of Columns to be added (for padding, p_i ) is Odd, Only the Right Side will be Padded with 0.如果要添加的列数(用于填充, p_i )为奇数,则只有右侧将填充为 0。

Number of Columns to be added can be calculated using the formula below:可以使用以下公式计算要添加的列数:

Case 01: n_i%s = 0, p_i = max(k-s ,0)

Case 02: n_i%s != 0, p_i = max(k - (n_i%s)), 0)

where n_i is Input Shape (Number of Columns), p_i is Number of Columns to be added for Padding, s is stride and kernel size as k.其中 n_i 是输入形状(列数),p_i 是要为填充添加的列数,s 是步长,内核大小为 k。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM