最近,我一直在对一些CNN进行基准测试,例如时间,乘加运算(MAC)数量,参数和模型大小。我见过类似的SO问题(here和here),在后者中,他们建议使用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 number和VGG16 macc number的参考。
使用该工具的任何人都可以指出我在阅读Netscope输出时正在犯的错误吗?
最佳答案
我发现了导致Netscope与我在论文中找到的信息之间存在差异的原因。 Nestcope中的大多数预设体系结构都使用10的批处理大小(例如VGG和GoogLeNet就是这种情况),因此x10因子乘以多加运算的数量。