参数量Params和每秒浮点运算次数FLOPs的单位是多少

先看一下yolov8的表


模型计算量(FLOPs)和参数量(Params)是衡量深度学习算法复杂度的两个重要指标,它们可以用来评估一个模型的性能和实用性。以下是对这两个指标的理解:


1、Params - 参数量

即模型中需要学习的参数数量,它是衡量模型复杂度的另一个重要指标。模型的参数量越多,表示模型的表达能力越强,但也意味着模型需要更多的计算资源和数据来训练和推断。比如,在训练模型时需要更多的GPU内存,推断时需要更多内存来存储模型参数。

论文中常用到的是: Params(M)

即一个模型包含多少个参数 。单位M,是million(百万 : 1 000 000 )缩写 ——也即(10的6次方)


2、FLOPs - 模型计算量

即浮点运算次数(Floating Point Operations, FLOPs),注意 s小写(s表复数)

指运行一次网络模型需要进行浮点运算的次数,可以理解为计算量。是衡量模型在推断(inference)过程中需要执行多少次浮点运算的量。FLOPs通常用于衡量模型的计算效率和速度,也可以用来衡量算法/模型的复杂度。比如,在边缘设备或者移动设备上部署模型时,需要考虑到设备的限制,如果模型的计算量过大,则会导致推断时间过长,不适合实际应用。

大模型的单位通常为 G(GFLOPs:10亿次浮点运算, 10 的9次方),小模型单位通常为 M通常只考虑乘加操作(Multi-Adds)的数量,而且只考虑 CONV 和 FC 等参数层的计算量,忽略 BN 和 PReLU 等等。

3、FLOPS

FLOPS(即“每秒浮点运算次数”,“每秒峰值速度”),可以理解为计算速度,是“每秒所执行的浮点运算次数”(Floating Point Perations per Second)的缩写。它常被用来估算电脑的执行效能,衡量硬件性能的指标,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。

一次浮点预算是一个FLOPS

FLOPS 计算公式

一个MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算,
一个GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算,
一个TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算,(1太拉)
一个PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算,
一个EFLOPS(exaFLOPS)等于每秒一百京(=10^18)次的浮点运算,
一个ZFLOPS(zettaFLOPS)等于每秒十万京(=10^21)次的浮点运算。

4、 模型大小

指一个模型的大小,即模型所占存储空间,单位MB(MByte的缩写):

在深度学习神经网络中,最常见的数据格式是float32,占4个字节(Byte)。类似地,float16,占2个字节。1024个字节为1KB,1024x1024个字节为1MB。那么存储10000个参数需要的内存大小为10000x4 Bytes,约为39KB。存储1M(100万)个参数需要的内存大小为39x100/1024MB,约为3.8MB。深度学习神经网络的参数量通常是百万级之上的,所以我们可以将3.8MB看作是一个基本单位,即每一百万个数字需要3.8MB。

换算:

1 GB = 1000 MB
1 MB = 1000 KB
1 KB= 1000 Byte
1 Byte = 8 bit

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值