轻量化评价指标
1.FLOPs
Floating Point Operations:
浮点运算次数,每一个加、减、乘、除操作都算1FLOPs操作,常用来衡量模型计算复杂度。
注意下FLOPS:注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标,比如NVIDIA在介绍不同型号显卡的计算力时,就是用的这个参数。
2.MACs
Multiply–Accumulate Operations:
乘加累积操作数,常常被人们与FLOPs概念混淆。实际上1MACs包含一个乘法操作与一个加法操作,大约包含2FLOPs。通常MACs与FLOPs存在一个2倍的关系
3.Parameters
是指这个网络中参数的数量(训练网络时学习的参数)。这里的参数一般指的时参数W和b,也就是权重和附加值。
4.Latency
是模型推理和后处理的时间,时间越小,执行速度越快。
默认情况下,这个时间是不包含图像解码和前处理的时间。图像解码就是从图像文件读到内存中,前处理包括标准化 张量化以及移动到显卡的时间。因为这两部分时间多影响因素比较多,而且并不是文章重点。
5.FPS
它在CNN中指的是网络每秒钟能够处理图片的数量,例如FPS=20是指网络一秒钟可以处理20张图片。反推过来就是处理一张图片需要50ms.
总结:
Parameters和FLOPs都是用来计算网络复杂度的,Parameters可以简单理解为网络的参数数量,FLOPs可以简单理解为网络前向运算时的计算量,它们的数值越大,网络越”复杂”。