【问题标题】:In the convolution layer (Conv1D and Conv2D) in Tensorflow, when set padding='same', which side is padded with 0?在Tensorflow的卷积层(Conv1D和Conv2D)中,当设置padding='same'时,哪边用0填充?
【发布时间】:2019-11-19 18:48:24
【问题描述】:

在tf.keras.layers.Conv1D 和Conv2D 中,参数padding 具有'same' 选项。我只想知道例如Conv1D,如果 kernel_size=2 和 stride=1,哪一侧(开始或结束)用 0 填充。

【问题讨论】:

    标签: tensorflow conv-neural-network tf.keras


    【解决方案1】:

    如果是Conv1D,

    如果要添加的列数(用于填充,p_i)是偶数,则左侧和右侧都将用 0 填充,统一。

    如果要添加的列数(用于填充,p_i)为奇数,则仅右侧将填充 0。

    可以使用以下公式计算要添加的列数:

    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)
    

    其中 n_i 是输入形状(列数),p_i 是要为 Padding 添加的列数,s 是步幅,内核大小为 k。

    【讨论】:

      猜你喜欢
      • 2020-06-05
      • 2020-11-04
      • 2021-09-03
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2021-02-03
      • 2018-08-04
      相关资源
      最近更新 更多