EfficientNet论文阅读中FLOPS指标的相关理解疑问
核心原因:深度学习领域的术语不规范混用
你的基础认知没有问题,疑惑来自领域内长期存在的术语书写不规范现象——作者把两个拼写相近、含义完全不同的指标搞混了:
- 全大写的
FLOPS:全称是Floating Point Operations Per Second,即每秒浮点运算次数,属于纯硬件性能指标,数值完全由芯片设计决定,和运行的模型、跑什么任务没有关系。比如消费级4090显卡FP32精度算力是82.6 TFLOPS,这个值不会因为你跑ResNet还是Transformer发生变化。 - 结尾s小写的
FLOPs:全称是Floating Point Operations,即浮点运算总次数,是用来衡量模型计算复杂度的指标,数值由模型结构、输入分辨率、是推理还是训练阶段决定,和运行模型的硬件没有关系,本身就是模型的绑定属性。
你在《EfficientNet》里看到的和模型绑定的"FLOPS",本质是作者写混了的FLOPs(模型总计算量),从数值量级就能直接验证:论文里EfficientNet-B0对应的数值是0.4B量级,如果这真的是硬件算力指标,0.4B FLOPS的算力还不如十几年前的入门手机芯片,完全不符合常识。
你可以记一个简单的判断规则:只要是和模型绑定、数值量级是M/B/G、没带"/s"(每秒)后缀的"FLOPS"表述,全都是指代模型总计算量的FLOPs,不是硬件算力。

内容的提问来源于stack exchange,提问作者numunu
相关产品推荐
相关产品推荐

