-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What is the definition of MACs ? #46
Comments
This might help! sovrasov/flops-counter.pytorch#16 |
Thanks for your supply! It is really helpful. |
As far as I can understand, the direct output of the "profile" function is MACs instead of FLOPs. However, the demo code in the readme file uses flops as the name of the output variable. Is this a typo? Thanks. |
the demo code in benchmark/readme is wrong. Macs returned by the "profile" function . If you want get the Flops, you should multiply 2. |
The original resnet paper reports MACs - see the bottom-right paragraph on page 3: https://arxiv.org/pdf/1512.03385.pdf . Technically a multiply-add is a single floating point operation since 2008 (https://en.wikipedia.org/wiki/IEEE_754-2008_revision), which is probably why they still call it flops. I suppose one could make the distinction as IEEE754-1985 FLOPs vs IEEE754-2008 FLOPs. |
I made clarification here https://github.com/Lyken17/pytorch-OpCounter/tree/master/benchmark#macs-flops-what-is-the-difference |
MACs can also defined as "Memory Access Cost" which is strongly relative to inference time, but I think in this repo is Multi-Add Calculation |
Hello!
I want to use the code to count the Multi-Adds operations, but I don't know if the Multi-Adds operations and MACs and FLOPs are the same thing.
I'm confused about the definition of MACs and FLOPs, and I'm also not clearly know if the code you provided is to count the MACs or FLOPs .
Could you tell me the definition of them and the difference between them?
Thank you!
The text was updated successfully, but these errors were encountered: