0%

卷积计算中的参数量、计算量

  1. FLOPs

    Floating point operations : 浮点运算量, 衡量算法算法或者模型的计算量。

    GFLOPs : 1GFOPS = 10 ^ 9 Flops, 10亿次浮点运算

    区别于FLOPS : Floating point operations per second, 指每秒浮点运算次数, 可以理解为计算速度,是一个衡量硬件性能的指标。

2. 普通卷积OP

Image大小为5 x 5, 卷积核大小为3 x 3, 忽略通道的话,那么一次3 x 3卷积所需的计算量为:

(3 x 3)次乘法+ (3 x 3 - 1)次加法 = 17次, 若添加bias的话即为18次;

v2-aada06aa34b5a5c30d21d5fb4269ef2f_720w

​ 那么一个多通道的2D卷积的计算公式如下:

image-20220804162914689

​ 其中,image-20220804163316580

​ 第一项为乘法运算数,第二项为加法运算数, 因为n个数相加,要加n - 1次,所以在不考虑bias时,会 -1。

= 每个卷积核的参数 x 核的数量

image-20220804170744538

  • 深度可分离卷积

    image-20220804165828699

    计算量:

    计算方法=第一部分(输出通道不变,使用C_in个单通道卷积)计算量+第二部分(使用1*1通道卷积)计算量:

    第一部分=每个特征点所需乘法加法次数*特征点个数:

    image-20220804171004000

    第二部分=每个特征点所需乘法加法次数*特征点个数:

    image-20220804171026176

    参数量:

    image-20220804171208992

  • 转置卷积OP

    TODO

  • 全连接OP

image-20220804163155617

I = Input neuron numbers, O = outputneuron numbers

3. Reference