卷积层
文章目录
- 卷积层
- 一、常规卷积
- 1.1 特点
- 1.2 参数量 和 计算量
- 二、可分离卷积
- 2.1 逐深度卷积(Depthwise Convolution)
- 2.2 逐点卷积(Pointwise Convolution)
- 三、代码实现 ⭐
一、常规卷积
参考资料
卷积神经网络之卷积层中的多输入多输出通道
卷积中参数量和计算量
有图文讲解,更通俗易懂。
1.1 特点
1、每一个输入通道都有一个卷积核,输出的通道结果是所有输入通道和对应卷积核作用后结果的和;
2、1×1的卷积核用于融合通道数据;
1.2 参数量 和 计算量
直接截图记录
参数量
计算量
注:浮点运算量 FLOPs 和计算量不同,需要时再仔细查。
二、可分离卷积
空间可分离卷积(Spatially Separable Convolutions):不知道哪里提出来的
深度可分离卷积(depthwise separable convolution):逐深度卷积(Depthwise Convolution)、逐点卷积(Pointwise Convolution)。
这个感觉上更常用
2.1 逐深度卷积(Depthwise Convolution)
Depthwise Convolution完成后的Feature map数量与输入层的depth相同,但是这种运算对输入层的每个channel独立进行卷积运算后就结束了,没有有效的利用不同map在相同空间位置上的信息。因此需要增加另外一步操作来将这些map进行组合生成新的Feature map,即接下来的Pointwise Convolution。
2.2 逐点卷积(Pointwise Convolution)
Dk:卷积核大小
M:输入尺寸
N:输出尺寸
三、代码实现 ⭐
参考资料
可分离卷积及深度可分离卷积详解
torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros')