目前衡量模型复杂度的通用指标
目前衡量模型复杂度的通用指标是FLOPs,注意这里的s是小写,与FLOPS区分,FLOPS是Floating-point Operations Per Second的简写,即每秒所能够进行的浮点运算数目,是一个衡量GPU性能的指标。而衡量模型复杂度的指标是FLOPs是Floating-point Operations的简写指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。在论文中常用GFLOPs(1 GFLOPs = 10^9 FLOPs)。
FLOPs在卷积中的计算公式为
其中的Cin是指卷积层输入tensor的通道数,Cout指的是卷积层输出tensor的通道数。K指的是卷积核大小。
去掉常数项,简化操作
但是相同FLOPs的模型在运算速度上可能存在差异,模型的内存使用量对于模型的速度同样重要。
内存使用量MAC(memory access cost)
这里C1是指输入特征的通道数,C2是指输出特征的通道数,这个指标的直观含义就是内存访问消耗的时间。
由论文:ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design
连接: