目录
1.FLOPS、FLOPs和GFLOPs的辨析
辨析:FLOPS、FLOPs和GFLOPs
- FLOPS:全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,可以理解为计算速度。是一个衡量硬件性能的指标
- FLOPs:s小写,是floating point operations的缩写(s表负数),意指浮点运算数,可以理解为计算量。用来衡量算法或模型的复杂度
- GFLOPs:1GFLOPs = FLOPs(10亿次)
2.参数量的计算
卷积层:
其中,代表输入的通道数,代表输出的通道数,为卷积核的大小,若卷积核有偏置项(Bias)则+1,没有则不加。若卷积核为方形则。
简化为:
BN层:
池化层:池化层不需要计算参数量
全连接层:
其中,表示输入通道;K表示卷积核大小;表示输出通道数。
3.FLOPs的计算
卷积层:
其中为一次卷积的乘法预算的计算量,为一次卷积加法运算的计算量,+1为偏置项,W与H为输出特征图的长和宽。
可简化为:
计算机视觉中常把一次乘法和加法合在一起,所以可以去掉前面乘的2。
故为
池化层:
全连接层:
(其中为一次乘法,为一次加法,+1为加上一个偏置项)
其中,表示输入通道;K表示卷积核大小;HW表示输出特征图尺寸;表示输出通道数。
什么是MAC?
MAC(Memory Access Cost,内存访问成本),计算机在进行计算时要加载到缓存中,然后再计算,这个加载过程是需要时间的。其中,分组卷积是对MAC消耗比较多的操作