深度学习模型FLOPs详解

您所在的位置:网站首页 橘子破皮画法简笔画图片 深度学习模型FLOPs详解

深度学习模型FLOPs详解

2023-11-03 00:15| 来源: 网络整理| 查看: 265

计算方法

FLOPS: 注意全大写,是floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。

FLOPs : 注意s小写,是floating point operations的缩写(s表复数),意指浮点运算数,理解为计算量。可以用来衡量算法/模型的复杂度。其计算公式如下: 在这里插入图片描述

不能只用FLOPs作为网络速度的指标

原因:FLOPs没有考虑几个对速度有相当大影响的重要因素——MAC\并行度\平台

1.MAC(Memory Access Cost)

比如:MAC(内存访问成本),计算机在进行计算时候要加载到缓存中,然后再计算,这个加载过程是需要时间的。其中,分组卷积(group convolution)是对MAC消耗比较多的操作(例如AlexNet多GPU)。

k*k普通卷积(不算bais)的FLOPs和MAC: FLOPs = 2 * h2 * w2 * k * k * c1 * c2 MAC=输入+输出+权重参数=h1 * w1 * c1+h2 * w2 * c2+c1 * c2 * k * k

普通卷积和分组卷积的参数量: 在这里插入图片描述

在这里插入图片描述 结论:FLOPs一定时,当且仅当c1=c2,MAC越小。

1*1分组卷积: 在这里插入图片描述 结论:B不变,g越大MAC越大

2.并行度

第二个对速度有相当大影响的重要因素就是模型的并行度。 在相同的FLOPs下,具有高并行度的模型可能比具有低并行度的另一个模型快得多。如果网络的并行度较高,那么速度就会有显著的提升。

3.计算平台的不同

不同的运行平台,得到的FLOPs也不相同。有的平台会对操作进行优化,比如:cudnn加强了对3×3conv计算的优化。这样一来,不同平台的FLOPs大小确实没有什么说服力。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3