当前位置:   article > 正文

教你计算Pytorch模型的计算量(FLOPs)和参数量(Params)_pytorch计算模型flops和参数量

pytorch计算模型flops和参数量

计算量对应时间复杂度(时间的长短),参数量对应空间复杂度(占用显存大小)

1GFPLOs = 10^9FLOPs

即:10亿次浮点运算

方法一

1、安装模块

pip install thop

2、计算 

  1. import torch
  2. import torchvision
  3. from thop import profile
  4. # Model
  5. print('==> Building model..')
  6. model = torchvision.models.alexnet(pretrained=False)
  7. dummy_input = torch.randn(1, 3, 224, 224)
  8. flops, params = profile(model, (dummy_input,))
  9. print('flops: ', flops, 'params: ', params)
  10. print('flops: %.2f M, params: %.2f M' % (flops / 1000000.0, params / 1000000.0))

其中输入input的第一维度是批量(batch size),批量的大小不回影响参数量, 计算量是batch_size=1的倍数.

方法二

pip install ptflops
  1. import torchvision
  2. from ptflops import get_model_complexity_info
  3. model = torchvision.models.alexnet(pretrained=False)
  4. flops, params = get_model_complexity_info(model, (3, 224, 224), as_strings=True, print_per_layer_stat=True)
  5. print('flops: ', flops, 'params: ', params)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/974323
推荐阅读
相关标签
  

闽ICP备14008679号