神经网络模型计算量 & 参数量 解释

1. 概念

计算量(FLOPs)对应我们之前的时间复杂度,计算量要看网络执行时间的长短

PS: 

        FLOPS:全大写,意指每秒浮点运算次数,理解为计算速度,是一个衡量硬件性能的指标。

        FLOPs:s小写,意指浮点运算数,理解为计算量,用来衡量模型的复杂度

        (如果模型FLOPs为X,使用的GPU性能Y FLOPS,意味处理该模型只需X/Y秒)

参数量对应于我们之前的空间复杂度,参数量要看占用显存的量

2. 对硬件要求

  • 计算量的要求是在于芯片的floaps(指的是gpu的运算能力)
  • 参数量的要求是显存大小

3. 计算方式

计算量: 

参数量:

  BatchNorm层: 2N

PS:

        常见模型大小描述方式

        因为:参数都是FP32(4字节)存放,所以模型大小是参数量*4

                   1kb=1024字节;1MB=1024kb;1GB=1024MB;1TB=1024GB

        因此:如果模型参数量为6000万个,则总的字节数是24000万字节,也就是228MB

                                                                                      (24000万/1024/1024)=228MB

4. 代码计算

1) 整体参数量 + 计算量 

import torch
import torchvision
from thop import profile

model = torchvision.models.alexnet(pretrained=False)

dummy_input = torch.randn(1, 3, 224, 224)
flops, params = profile(model, (dummy_input,))
print('FLOPs: ', flops, 'params: ', params)

2)每层参数量 + 整体参数量 + 可训参数量

import torch
import torchvision
from pytorch_model_summary import summary

model = torchvision.models.alexnet(pretrained=False)
print(model)

dummy_input = torch.randn(1, 3, 224, 224)
print(summary(model, dummy_input, show_input=False, show_hierarchical=False))

输出:

 手动计算(示例)

        Conv2d-1:  3*64*11*11 + 64 = 23296

         Linear-21: 4096*1000 + 1000 = 4097000

5. 常见模型计算量 & 参数量 

模型

参数量(百万个)

模型大小(MB)

计算量(百万)

SqueezeNet

1,248,424

4.8MB

AlexNet

60百万(1e6)

240MB

720 (1*3*224*224)

ResNet101

85百万

340MB

VGG16

138百万

552MB

15300

TSN

20MB

I3D

60MB

ECO

150MB

GPT-3

(OpenAI)

1750亿(1e9)

鹏程. 盘古

(华为)

2000亿(1e9)

8TB

Switch Transformers

(谷歌)

1.6万亿

悟道2.0

(智源)

17500亿

 Reference:

经典神经网络参数的计算【不定期更新】 - 知乎 (zhihu.com)

(36条消息) 深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结_紫芝的博客-CSDN博客

  • 14
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值