分组卷积计算量_深度学习中卷积的参数量与计算量

普通卷积

输入卷积:Win * Hin * Cin

卷积核:k * k

输出卷积:Wout * Hout * Cout

参数量:(即卷积核的参数)

k * k * Cin * Cout

或者:(k * k * Cin + 1) * Cout (包括偏置bias)

计算量:

k * k * Cin * Wout * Hout * Cout

分组卷积计算量_深度学习中卷积的参数量与计算量_第1张图片

深度可分离卷积(Depthwise Separable Convolution)

深度可分离卷积可以分为:depthwise conv + pointwise conv

depthwise 卷积(输入channel等于输出channel)

输入卷积:Win * Hin * Cin

卷积核:k * k

输出卷积:Wout * Hout * Cin

参数量:

k * k * Cin

计算量:

k * k * Cin * Wout * Hout

分组卷积计算量_深度学习中卷积的参数量与计算量_第2张图片

pointwise conv即普通的1x1卷积,参数来按照普通1x1卷积来算

组卷积(Group Convolution)

输入卷积:Win * Hin * Cin

卷积核:k * k

输出卷积:Wout * Hout * Cout

分成g组

参数量:(即卷积核的参数)

k * k * (Cin / g) * (Cout / g) * g = k * k * Cin * Cout * (1 / g)

自然,分组卷积的参数量是标准卷积的 1/g

计算量:

k * k * (Cin/g) * (Wout/g) * Hout * Cout * g= k * k * Cin * Wout * Hout * Cout * (1/g)

分组卷积计算量_深度学习中卷积的参数量与计算量_第3张图片

分组卷积计算量_深度学习中卷积的参数量与计算量_第4张图片

参考:

卷积核的参数量和计算量 https://www.cnblogs.com/ywheunji/p/11887906.html

理解分组卷积和深度可分离卷积如何降低参数量 https://zhuanlan.zhihu.com/p/65377955

你可能感兴趣的:(分组卷积计算量)