不积跬步,无以至千里;不积小流,无以成江海。——荀子

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

普通卷积

输入卷积:Win * Hin * Cin
卷积核:k * k
输出卷积:Wout * Hout * Cout

参数量:(即卷积核的参数)
k * k * Cin * Cout
或者:(k * k * Cin + 1) * Cout (包括偏置bias)
计算量:
k * k * Cin * Wout * Hout * Cout

 

深度可分离卷积(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

 

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)

 

 

 

参考:

卷积核的参数量和计算量 https://www.cnblogs.com/ywheunji/p/11887906.html
理解分组卷积和深度可分离卷积如何降低参数量 https://zhuanlan.zhihu.com/p/65377955

 

posted on 2020-05-28 10:43  hejunlin  阅读(1309)  评论(0编辑  收藏