版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shwan_ma/article/details/84924142
在评估一个CNN网络的计算复杂度时,浮点数运算(float point operation)是一个常用的衡量指标。
在常规的计算中,通常不考虑非线性函数的计算量(the nonlinearity),对于卷积操作:
FLOPs=2∗(HWCinK2+1)Cout=2∗(HWK2CinCout+Cout)
其中式子中
HWK2CinCout为卷积操作,$ C_{out}$为bias操作,2则表示为MAC操作(包含累加及累乘)
对于全连接操作:输入维度
I,输出维度
O,则全连接层:
FLOPs=(2×I−1)×O
这里是没有考虑全连接中的bias操作,比如x1+x2+…xn只有(n-1)次加法。
Ref:
- PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE
- https://www.zhihu.com/question/65305385/answer/451060549