神经网络各个层FLOPs的计算
• FLOPS 注意全部大写 是floating point of per second的缩写,意指每秒浮点运算次数。可以理解为计算速度,用来衡量硬件的性能。
• FLOPs 是floating point of operations的缩写,是浮点运算次数,理解为计算量,可以用来衡量算法/模型复杂度。(ps:FLOPs 是模型推理时间的一个参考量,但并不能百分百表示该模型推理时间的长短,因为乘法和加法计算不一样,乘法的时间一般是加法时间的四倍,但现在有很多优化卷积层的计算算法,可能把乘法计算时间缩为加法的两倍不等,所以FLOPs只是个估量的指标,不是决定推理时间长短的指标。即FLOPs越小并不代表着模型推理时间越短)
定义在这篇论文有:

这篇论文PRUNING CONVOLUTIONAL NEURAL NETWORKS FOR RESOURCE EFFICIENT INFERENCE所描述的计算公式跟博客所搜的不一样,经推导,大佬的这篇博客https://zhuanlan.zhihu.com/p/366184485的推导非常不错,通俗易懂。在该博客上提及的就不多赘述。
1.标准卷积的FLOPs计算
标准卷积的推导过程,大佬们描述得很清楚,在此只贴上手绘的卷积过程图示,如图1所示:

本文详细介绍了神经网络中不同层的FLOPs(浮点运算次数)计算,包括标准卷积、深度可分离卷积、全连接层、池化层、ReLU和Sigmoid层的FLOPs计算方法。FLOPs作为衡量算法复杂度的指标,有助于理解模型的计算量和效率。
最低0.47元/天 解锁文章
909

被折叠的 条评论
为什么被折叠?



