普通卷积,Depthwise卷积,分组卷积的对比

1、普通卷积

普通卷积,Depthwise卷积,分组卷积的对比

如上图所示

输入:H*W*c1,

卷积核:c1*k*k*c2(卷积核维度为c1*k*k,共有c2个)

输出:H'*W'*c2

参数量:c1*k*k*c2  (不考虑bias)

运算量:c1*k*k*c2*H'*W'

2、分组卷积假设group=2

普通卷积,Depthwise卷积,分组卷积的对比

输入:H*W*c1

卷积核:c1*k*k*c2(卷积核维度为c1*k*k,共有c2/2个)

输出:H'*W'*c2

参数量:c1*k*k*c2/2  (不考虑bias)

运算量:c1/2*k*k*c2/2*H'*W'+c1/2*k*k*c2/2*H'*W'=(c1*k*k*c2*H'*W')/2, 也就是普通卷积的1/2

3、深度可分离卷积(Depthwise卷积+Pointwise卷积)

普通卷积,Depthwise卷积,分组卷积的对比

输入:H*W*c1

卷积核:c1*k*k(group=c1,每一组1个),c1*k*k*c2

输出:H'*W'*c2

参数量:c1*k*k+c1*k*k*c2(不考虑bias)

运算量:c1*k*k*H'*W'+c1*k*k*c2*H'*W'