使用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