参考
如何计算神经网络模型的复杂度
深度学习卷积、全连接层、深度可分离层参数量和FLOPs计算公式
概念
- Params:模型的参数量。(空间复杂度)
- FLOPs:FLoating point Operations,前向推理的计算量。(时间复杂度)
- MAC:Memory Access Cost。基本上看每个计算输出结果 C o u t × H o u t × W o u t C_{out} \times H_{out} \times W_{out} Cout×Hout×Wout 相加的总和。
- MACC(MADD):multiply-accumulate operations:先乘起来再加起来的运算次数。 也就是 乘加 看做一次运算。
所以 1个 MACC = 2个 FLOPs。 - 内存量
H i n H_{in} Hin: 输入的 height
W i n W_{in} Win: 输入的 width
H o u t H_{out} Hout: 输出的 height
W o u t W_{out} Wout: 输入的 width
K K K: 卷积核size
C i n C_{in} Cin: 输入的channel 数
C o u t C_{out} Cout