卷积计算量
通常只看乘法计算量:
标准卷积方式
C代表通道数,Ci输入通道数,C0为输出通道数。H*W为长宽
如下图;当前特征图Ci * H * W ,把特征图复制C0个,分别与3*3*Ci的卷积核进行卷积,输出特征图大小C0 * H * W,
用C0个3*3*Ci的卷积核进行卷积操作,所以参数量为3*3*Ci*C0,在H*W的特征图上操作,故计算量为3*3*Ci*C0*H*W .
可以记作 输入输出的pipeline Ci*3*3*H*W*Co
深度可分离卷积
逐通道卷积depthwise conv,再通道融合卷积pointwise
通道之间相互独立,故卷积核参数量为3*3*Ci (记忆技巧,输出通道数即为卷积核个数,卷积核个数乘以每个卷积核的参数即总参数) , 远少于标准卷积的 3*3*Ci*C0, 计算量为3*3*Ci*H*W。
逐通道卷积之后,再用1*1的卷积核进行通道间的特征融合
此时输入的特征图大小为H*W*Ci ,输出为H*W*C0
故后半部分卷积核参数量为1*1*C0*Ci, 计算量为1*1*C0*H*W*Ci, 可以记作从左到右pipeline Ci*1*1*H*W*C0
故深度可分离卷积的计算量为:3*3*Ci*H*W + 1*1*C0*H*W*Ci
是标准卷积的1/9,计算量大大减小。
另外,卷积神经网络的神经元个数计算方式为:卷积核的个数乘以图片大小(H*W)
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:卷积核的参数量和计算量 - Python技术站