Skip to content

paddle.flops() 计算得到的FLOPs数值溢出,出现负号 #33481

@dercaft

Description

@dercaft

使用paddle.flops()计算模型运算量时得到负值

net=ResNet50()
input_sizer=[1,3,224,224]
paddle.flops(net, input_size=input_sizer, print_detail=False)

得到

Total Flops: -183452672     Total Params: 25610152

使用其他方式计算得到的模型flops为:2054833664

  • log(2054833664+183452672)/log(2) ≈ 31

所以paddle.flops的代码里是用int32来存flops吗?

建议使用int64

版本、环境信息:

  • Paddle version: 2.1.0
  • Paddle With CUDA: True
  • OS: Ubuntu 18.04
  • Python version: 3.6.9
  • CUDA version: 10.2.89
  • cuDNN version: 7.6.5
  • Nvidia driver version: 450.80.02

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions