1.什么是FLOPs?
FLOPs全称:floating point operation per second
意思是每秒浮点运算次数,理解为计算速度,是一个用来衡量硬件计算性能的指标。
在CNN中用来指浮点运算次数;
2.如何计算?
在AlexNet中某一次卷积过程中,
输入特征图大小:[C_in, H_in, W_in] = 3 * 224 * 224
卷积核大小:[C_in, K_H, K_W] = 3 * 11 * 11
输出特征图大小:[C_out, H_out, W_out] = 96 * 55 * 55
该卷积层的FLOPs量级为多少?
FLOPs:
[(C_in * K_H * K_W) * C_out + C_out] * (H_out * W_out)
即[(3 * 11 * 11) * 96 + 96 ] * (55 * 55) = 105705600
量级为1e8
(
注:可以将上试的C_out提取出来。
num_paras = (C_in * K_H * K_W) * C_out + C_out
= C_out * [(C_in * K_H * K_W) + 1 ]
num_paras也就是该层参数的数目
)
我也是根据别人的博客参考的,每个大佬回答的都有差异,有的考虑了偏置,有的没有考虑偏置什么的,各种博客各种回答,在此仅做参考,详细深入请查找文献。
参考:
https://baike.baidu.com/item/FLOPS/989494?fr=aladdin
https://www.cnblogs.com/zf-blog/p/10875782.html
https://blog.csdn.net/weixin_41770169/article/details/94001345
https://www.zhihu.com/question/65305385
仅用来个人学习和分享,如若侵权,留言立删。