最近,我一直在对一些CNN进行基准测试,例如时间,乘加运算(MAC)数量,参数和模型大小。我见过类似的SO问题(herehere),在后者中,他们建议使用Netscope CNN Analyzer。使用此工具,我只需输入Caffe网络定义即可计算所需的大多数东西。

但是,我在论文和互联网上看到的某些体系结构的乘加运算数量与Netscope的输出不匹配,而其他体系结构则与之相匹配。我总是将FLOP或MAC与netscope中的MACC列进行比较,但是在某个时候我忘记了一个约10倍的因子(有关更多详细信息,请参见下表)。

Architecture  ----  MAC (paper/internet) ---- macc column in netscope
VGG 16                    ~15.5G                       ~157G
GoogLeNet                 ~1.55G                       ~16G


有关Netscope中的GoogLeNet macc numberVGG16 macc number的参考。

使用该工具的任何人都可以指出我在阅读Netscope输出时正在犯的错误吗?

最佳答案

我发现了导致Netscope与我在论文中找到的信息之间存在差异的原因。 Nestcope中的大多数预设体系结构都使用10的批处理大小(例如VGGGoogLeNet就是这种情况),因此x10因子乘以多加运算的数量。

08-25 03:41