跳到主要内容

深度可分离卷积

提示

输入:shape为[5,5,3][5, 5, 3]的图像 输出要求:shape为[5,5,4][5, 5, 4]的feature map 使用3×33 \times 3卷积核,padding=1,stride=1padding=1, stride=1

常规卷积

卷积层共4个filter(输出通道为4),每个filter3个kernel(输入通道为3)

其中,每个filter都对输入图像的所有通道完成一次卷积,filter中的kernel分别对输入的通道进行具体卷积运算

img

不考虑卷积偏置,参数量为

3×3×3×4=108(1)3 \times 3 \times 3 \times 4 = 108 \tag{1}

深度可分离卷积

逐通道卷积-Depthwise Convolution

img

使用1个filter,其中包含3个kernel。每个kernel分别对输入图像的3个通道单独进行卷积,参数量为

3×3××3=27(2)3 \times 3 \times \times 3 = 27 \tag{2}

代码实现也较为简单,只需令Conv2d的输出通道与输入通道相同即可

逐点卷积-Pointwise Convolution

img

使用1×11 \times 1卷积核,每个filter对上一步的feature map在深度方向进行一次加权组合,参数量为

1×1×3×4=12(3)1 \times 1 \times 3 \times 4 = 12 \tag{3}
提示

图片源自知乎