为什么tensorflow的FLOP是Caffe的macc的2倍?

问题描述 投票:1回答:2

我正在尝试将模型从caffe重写为tensorflow。为了确保我没有犯错误,我算上了macc和Flops然后我发现了这个有趣的事情:

例如,当输入图像112x112x3,并将其转换为32 3x3内核,stride = 1时,Caffe中的macc为2.71M,而在tensorflow中计算的FLOP为5. 42M。

我想知道为什么会出现这种2倍差异?

tensorflow caffe flops
2个回答
1
投票

我不是这方面的专家,但FLOPS意味着每个浮点操作,而不仅仅是倍增或累积。将执行比执行MACS更多的FLOPS。

我也读过一些地方,如果MAC用于浮点性能,并且两次测量的循环开销和内存带宽相同,那么通常认为1浮点乘法累加相当于2个FLOP。一个用于乘法,第二个用于累加器中的加法。


1
投票

一个MACC包含一个乘法和一个加法。一次乘法或一次加法可视为一次FLOP。所以一个MACC有两个FLOPS。

© www.soinside.com 2019 - 2024. All rights reserved.