Python深度学习pytorch神经网络填充和步幅的理解

Python深度学习pytorch神经网络填充和步幅的理解_第1张图片

上图中,输入的高度和宽度都为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。变换如下图所示:

Python深度学习pytorch神经网络填充和步幅的理解_第2张图片

步幅

在计算互相关时,卷积窗口从输入张量的左上角开始,向下和向右滑动。在前面的例子中,我们默认每次滑动一个元素。但是,有时候为了高效计算或是缩减采样次数,卷积窗口可以跳过中间位置,每次滑动多个元素。

我们将每次滑动元素的数量称为步幅(stride)。下图展现的是垂直步幅为3,水平步幅为2的二维互相关运算。

Python深度学习pytorch神经网络填充和步幅的理解_第3张图片

以上就是Python深度学习pytorch神经网络填充和步幅的理解的详细内容,更多关于pytorch神经网络填充和步幅的资料请关注脚本之家其它相关文章!

你可能感兴趣的