如何计算任务/进程所需的浮点运算次数?(不是 FLOP/s,而是 FLOP)

计算科学 表现 机器学习
2021-11-30 07:26:50

已经有很多论文引用 FLOP 来引用机器学习中特定方法的性能。例如,

我们训练了两个具有不同容量的模型:BlazePose Full(6.9 MFlop,3.5M 参数)和 BlazePose Lite(2.7 MFlop,1.3M 参数)。

我假设他们测量了在输入上运行模型所需的 Mega FLOP 数量。但他们没有解释如何


这可能特定于神经网络,但可能不是。这与如何计算机器每秒能够进行的浮点运算(有很多答案)不是同一个问题。

1个回答

所有处理器都有计数器,可用于计算程序中点 A 和点 B 之间的各种事物。例如执行的浮点操作数、遇到的分支数、缓存未命中数等.

当然,我不知道您引用的论文的作者做了什么,但实际上计算执行了多少次 FP 操作并不难——事实上,这样做比估计有多少操作要容易得多必须执行特定的算法。