Bugs in `get_model_summary' and flops calculation
jin-s13 opened this issue · 1 comments
jin-s13 commented
Dear all,
Thanks for releasing the codes!
I noticed some problems in model flops calculation.
- The classname
Conv2d
andConvTranspose2d
both contain 'Conv', so their flops are counted inget_model_summary
.
However, the flops-calculation for Conv2d
and ConvTranspose2d
should be different.
For Conv2d
, it is
flops = (torch.prod(torch.LongTensor(list(module.weight.data.size()))) * torch.prod(torch.LongTensor(list(output.size())[2:]))).item()
But for ConvTranspose2d
, it should be
flops = (torch.prod(torch.LongTensor(list(module.weight.data.size()))) * torch.prod(torch.LongTensor(list(input[0].size())[2:]))).item()
- Flops of many other ops (e.g. BN, ReLU) are not calculated.
zengwang430521 commented
Yes, indeed! @leoxiaobin @sunke123