版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zjucor/article/details/85239860
注意:1MAC=2FLOPs
1次MAC=2 Flops吧,卷积乘法+卷积乘法自后所有数相加(所有数-1,如果有bias正好+1抵消)
例子:resnet18算flops,只计算卷积,没考虑relu,bn,add这些
conv1:112*112*3*64*7*7
conv2_x:56*56*64*64*9+56*56*64*64*9+56*56*64*64
conv3_x:28*28*64*128*9+28*28*128*128*9+28*28*64*128
conv4_x:14*14*128*256*9+14*14*256*256*9+14*14*128*256
conv5_x:7*7*256*512*9+7*7*512*512*9+7*7*256*512
fc:512*1000
总共加起来乘以2,为1.8G flops
例子2:mobilenet V1,从上到下:
112*112*3*32*9
112*112*32*9+112*112*32*64
112*112*64*9+56*56*64*128
56*56*128*9+56*56*128*128 + 56*56*128*9+28*28*128*256
28*28*256*9+28*28*256*256 + 28*28*256*9+14*14*256*512
(14*14*512*9+14*14*512*512) * 5
14*14*512*9+7*7*512*1024
7*7*1024*9+7*7*1024*1024
1024*1000
加起来:578.9M (Mac),与原文的569M有点差距,可能是没把bias那部分Mac减掉
ref: