最近、時間、乗算加算操作(MAC)の数、パラメーターの数、およびモデルサイズに関していくつかのCNNのベンチマークを行っています。私はいくつかの同様のSO質問( ここ と ここ )を見てきました、そして後者では、 Netscope CNNアナライザー 。このツールを使用すると、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番号 および VGG16 macc番号 に関するリファレンス。
そのツールを使用した人は、Netscopeの出力を読んでいるときに私がどのような間違いをしているのかを指摘できますか?
Netscopeと論文で見つけた情報との間に矛盾を引き起こしている原因を見つけました。 Nestcopeのほとんどのプリセットアーキテクチャは、10のバッチサイズを使用していました(これは、 [〜#〜] vgg [〜#〜] および GoogLeNet などの場合です)。したがって、複数追加操作の数を乗算したx10係数。