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

Mar*_*rck 4 flops caffe tensorflow

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

比如输入一张112x112x3的图片,用32个3x3的kernel进行conv2d,stride=1,Caffe中的macc为2.71M,而tensorflow中计算的FLOPs为5. 42M。

我想知道为什么会发生这种 2 倍的差异?

Kat*_*Lee 5

一个 MACC 包含一个乘法和一个加法。一次乘法或一次加法可以看作是一次 FLOP。所以一个 MACC 有两个 FLOPS。