神经网络模型压缩知识点整理

FLOPs

参考文献:本论文的Appendix
知乎链接:https://www.zhihu.com/question/65305385
FLOPs(floating-point operations),即浮点操作的次数。在神经网络的前向计算时,乘法与加法各作为一次FLOP。
卷积操作:
假设非线性的激励函数的计算量不计。设输入的特征映射维度为 [ H , W , C i n ] 。当卷积层的参数为 [ H , W , C i n , K ] ,其中 H 为卷积层的height, W 为卷积层的width, C i n 为输入数据的channels, K 为卷积核的个数。
参数量包括权重和偏置:

p a r a m = H W C i n K + K = K ( H W C i n + 1 )

FLOPs的运算包括权重的运算和偏置的运算。
F L O P s = K ( H W ( 2 H W C i n 1 ) ) + K ( H W ) = 2 K H W H W C i n

其中 H W 分别为输出数据的高度和宽度。
当卷积层的参数为 [ H , W , C i n / 2 , K ]
F L O P s = 2 K 2 ( H W ( 2 H W C i n 2 1 ) ) + K H W = K H W H W C i n

对于全连接层,设权重的维度为 [ I , O ] ,计算的FLOPs为
F L O P s = O ( I + I 1 ) + O = 2 I O

猜你喜欢

转载自blog.csdn.net/winycg/article/details/80946581