1 前言
在前面的两篇文章中,笔者分别介绍了卷积的思想与原理以及卷积操作在各类场景下的具体计算过程。在接下来的这篇文中,笔者将主要围绕着卷积后形状的计算、卷积中的池化操作以及Pytorch中卷积操作的用法这三方面来进行介绍。在这篇文章后,对于卷积的基础知识就算是介绍完了,后面笔者将开始对一些经典的卷积网络进行介绍。
2 形状的计算
在前面一篇文章中,笔者详细介绍了卷积操作中的卷积计算过程,但是对于卷积后特征图形状的计算并没有进行介绍。下面,我们就来看看如何计算卷积后的形状。
2.1 输出形状
对于最后输出形状的计算在我们自己写代码的过程中是十分重要的,关系到你如何设置卷积核的大小,以及卷积的层数。现在我们用
来表示输入特征图的宽度,
表示卷积核的宽度,
表示卷积核每移动一次的步长,那么此时卷积后特征图的宽度为:
其中
表示对
向上取整,
表示对
向下取整。公式
中的两种计算方法都行,记住其中一种即可。
例如有输入形状为
的特征图,卷积核的形状为
,同时步长为
,那么卷积后的形状则为: