Python深度学习pytorch神经网络填充和步幅的理解
程序员文章站
2022-03-07 13:14:18
目录上图中,输入的高度和宽度都为3,卷积核的高度和宽度都为2,生成的输出表征的维度为 2 × 2 2\times2 2×2。从上图可看出卷积的输出形状取决于输入形状和卷积核的形状。填充以上面的图为例,...
上图中,输入的高度和宽度都为3,卷积核的高度和宽度都为2,生成的输出表征的维度为 2 × 2 2\times2 2×2。从上图可看出卷积的输出形状取决于输入形状和卷积核的形状。
填充
以上面的图为例,在应用多层卷积时,我们常常丢失边缘像素。
解决这个问题的简单方法即为填充(padding):在输入图像的边界填充元素(通常填充元素是0)。
例如,在上图中我们将 3 × 3 3\times3 3×3输入填充到 5 × 5 5\times5 5×5,那么它的输出就增加为 4 × 4 4\times4 4×4。变换如下图所示:
步幅
在计算互相关时,卷积窗口从输入张量的左上角开始,向下和向右滑动。在前面的例子中,我们默认每次滑动一个元素。但是,有时候为了高效计算或是缩减采样次数,卷积窗口可以跳过中间位置,每次滑动多个元素。
我们将每次滑动元素的数量称为步幅(stride)。下图展现的是垂直步幅为3,水平步幅为2的二维互相关运算。
以上就是python深度学习pytorch神经网络填充和步幅的理解的详细内容,更多关于pytorch神经网络填充和步幅的资料请关注其它相关文章!