trick3-关于目标检测算法好坏的一些衡量指标


前言

并不是参数量越少,网络运行速度越快。网络运行快慢与网络参数量不一定成正比。参考博客

一、网络运算时的组成

shufflenet提出,网络的运行时间由不同的部分组成。由下图可以得出虽然卷积占用了大部分时间,但其他操作,包括数据I/O和Element-wise(AddTensor、ReLU等)也占用了大量时间。因此,单单优化网络在执行卷积时所花费的时间有一定的效果。
在这里插入图片描述

二、关于目标检测网络的常用指标

1.AP(%)

代表了目标检测算法的检测精度。

2.Parameters

参数量,指模型含有多少参数.

Parameters 参数量。参数量指的是模型所包含的参数的数量,比如我们模型中使用到的卷积、全连接里面的权值矩阵对应的每一个数字,都是参数量的组成.

参数量的单位是M,需要注意的是,模型的参数量并不等于存储空间大小,存储空间的单位是MB(或者KB)而不是M。

3.GFLOPs

FLOPs浮点运算次数,可以用来衡量算法/模型复杂度GFLOPs。

FLOPS是处理器性能的衡量指标,是“每秒所执行的浮点运算次数”的缩写。
FLOPs是算法复杂度的衡量指标,是“浮点运算次数”的缩写,s代表的是复数

FLOPs是用来衡量算法复杂度的指标,但算法复杂度往往不等同于算法的运算速度。Efficientdet就是非常典型的例子,FLOPs很小,但速度慢,占用显存大

4.Latency

网络前向传播的时间

Latency指一般是网络预测一张图片所用的时间,应该是不包括后处理(without post processing)的。也就是单单包含了网络前传部分的时间。

5.FPS

每秒传输帧数,FPS=1/Latency

总结

1.Parameters低 ≈ FLOPs低:FLOPs基本和Parameters成正关系,不过FLOPs还和输入进来的图片大小有关,输入图片越大,FLOPs 越大

2.FLOPs低 ≠ Latency低: FLOPs低 ≠ FPS高,最典型的例子就是EfficientNet,EfficientNet使用了大量的低FLOPs、高数据读写量的操作,即深度可分离卷积操作。这些具有高数据读写量的操作,受到了GPU带宽的限制,算法浪费了大量时间在读写数据上,GPU算力也自然没有得到良好的应用

3.Parameters低 ≠ Latency低:Parameters低 ≠ FPS高,同FLOPs,最典型的例子就是EfficientNet。

并不是参数量越少,网络运行速度越快。网络运行快慢与网络参数量不一定成正比。参考博客

猜你喜欢

转载自blog.csdn.net/qq_45825952/article/details/127825713