【论文】参数量Parameters和每秒浮点运算次数FLOPs的单位是多少?答:Params/M,FLOPs/G 您所在的位置:网站首页 70nm是多少m 【论文】参数量Parameters和每秒浮点运算次数FLOPs的单位是多少?答:Params/M,FLOPs/G

【论文】参数量Parameters和每秒浮点运算次数FLOPs的单位是多少?答:Params/M,FLOPs/G

2024-07-04 13:47| 来源: 网络整理| 查看: 265

目录 更新 2024-04-071. 使用thop库打印参数量、计算量2. 标准图例3. 可能有用的YOLO系列模型汇总4. 暂存梯度计算量gradients与参数量的关系

更新 2024-04-07

最近写大论文,对实验参数又有了理解,特来更正一下

下图是我常用的表头,可供参考(因为是中文硕士论文,所以就写成了模型,英文论文的话可以写成Model):

在这里插入图片描述

对于我来说,一直拿不准的单位就是参数量(Params)和计算量(FLOPs)。根据看的文献、博客、个人理解,最终确认应该使用图上的M和G单位,分别表示量级单位 1 0 6 10^6 106和 1 0 9 10^9 109。可详见这篇博文:深度学习-参数量&模型大小&理论计算量

在这里插入图片描述

我的理解是:实际数据=表格数字×单位

例如下图,Params和FLOPs只是参数量和计算量的代称并不是单位,单位是/后面的内容。那如图所示我的参数量就是6.23M,带上单位的意思就是有 6.23 × 1 0 6 6.23×10^6 6.23×106个参数;计算量就是13.9G,带上单位的意思就是 13.9 × 1 0 9 13.9×10^9 13.9×109个计算

在这里插入图片描述

1. 使用thop库打印参数量、计算量 神经网络的计算量(FLOPs)、参数量(Params)、推理时间(FPS)的定义及实现方法

重点参考这个部分:

但是,我认为他的换算方式有误,换算方式应该是:

对于参数量Parameters,统计个数之后,换算成M的含义是million百万,因此换算应该是 1 M = 1 0 6 1M=10^6 1M=106(在代码中 1 0 6 10^6 106通常写成1e6)👉参考链接:数量单位B和M代表多少?对于每秒浮点运算次数FLOPs,换算成GFLIPs的方式是 G F L O P s = 1 0 9 F L O P s GFLOPs=10^9 FLOPs GFLOPs=109FLOPs(在代码中 1 0 9 10^9 109通常写成1e9)👉参考链接:FLOPS每秒浮点运算次数计算公式 import torch import torchvision from thop import profile print('==> Building model..') model = torchvision.models.alexnet(pretrained=False).cuda() # 如果就把cuda()去掉试试 input = torch.randn(1, 3, 224, 224).cuda() # 如果就把cuda()去掉试试 flops, params = profile(model, (input,)) print('GFLOPs: %.2f B, params: %.2f M' % (flops / 1e9, params / 1e6))

在这里插入图片描述

2. 标准图例

在这里插入图片描述

3. 可能有用的YOLO系列模型汇总 YOLO系列模型,yolov3-yolov7全方位对比实验参照,包括参数量Params,计算量GFLOPs,复杂度,mAP以及FPS等参照

在这里插入图片描述

4. 暂存梯度计算量gradients与参数量的关系

图中的话忘记是在哪里看到的了,感觉很有道理的样子hhh~

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有