FPS如何计算?Yolo系列的GFLOPs与FPS如何得到?(小白学习记录)

本文讨论了FPS(帧率)和GFLOPs(每秒浮点运算次数)作为衡量图像处理和模型性能的指标,特别是在YOLO中。作者提到在轻量化实验中,尽管FPS高,但可能因设备强大或数据集简单而不再作为主要评价标准,转而关注参数量的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 FPS

FPS(每秒帧数)是衡量图像处理或模型推断速度的指标,通常用于评估计算机视觉应用程序的性能。FPS表示在一秒内处理的图像帧数,其计算公式为:

\text{FPS} = \frac{1}{\text{Processing time per frame }}

其中Processing time per frame代表每帧处理时间。

在YOLO中这个值通常是由test.py来得到。将test.py的权重文件换为训练生成的best.pt,如下图所示:

运行过后能够得到spped三个值

这里只需用到total,FPS就是1000ms(=1s)/4.8ms=208.3

当然,使用detect.py也能够得到我们的FPS,运行detect.py后的结果如下:

pre-process:图像预处理时间,包括图像保持长宽比缩放和padding填充,通道变换(HWC->CHW)和升维处理等。
ms inference:推理速度,指预处理之后的图像输入模型到模型输出结果的时间。
NMS :可以理解为后处理时间,对模型输出结果经行转换等。
至于计算FPS,是1s也就是1000ms除以这三个时间相加。

2 GFLOPs

GFLOPs(每秒浮点运算次数)通常用于衡量模型在推断或训练时的计算性能。在训练yolo的时候会自动生成这个值。如下:

但是我也遇到它不打印GFLOPs的情况,解决方法:

在终端下载thop库

pip install thop

3 总结

最近在做对比实验,由于是轻量化所以很看重这两个参数,但是发现我不管用哪种网络,FPS都很高(超过100),不知道是不是实验设备太好还是数据集太简单的原因,评价指标最后可能不考虑FPS这个参数了。选择参数量会更加稳妥。

评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值