Depth-wise Convolution的理解

Depth-wise Convolution的目的是为了减少计算量,提高计算速度。

对于Depth-wise Convolution来说,一个卷积核只负责一个通道,一个通道只被一个卷积核卷积。

对于普通的卷积层来说:

 

input feature map为[12,12,3],使用256个[5,5,3]的卷积核,得到output feature map为[8,8,256],参数量为5*5*3*256=19200,所需计算乘法的次数为5*5*3*256*8*8=1228800(FLOPs)。

对于Depth-wise Convolution来说:

 

 

 

 分为两步:

(1)通道分开卷积,input feature map为[12,12,3],分别使用3个[5,5,1]的卷积核,得到output feature map[8,8,3]

(2)再一起卷积,input feature map为[8,8,3],使用256个[1,1,3]的卷积核,得到output feature map[8,8,256]

参数量为:5*5*1*3+1*1*3*256=843,所需计算的乘法次数为5*5*1*3*8*8+1*1*3*256*8*8=53952(FLOPs)。

参考:https://zhuanlan.zhihu.com/p/149564248

posted @ 2021-10-18 14:29  不正从心szd  阅读(4200)  评论(0编辑  收藏  举报