TensorRT部署YOLOv5(01)-Overview

本文详细介绍了在Nvidia Jeston Nano上使用TensorRT进行YOLOv5目标检测模型的部署,涵盖环境搭建、模型量化、性能评估和C++/Python代码实例。通过TensorRT优化,YOLOv5n的fp16精度模型可实现接近11fps的帧率。文章还提供了不同模型规模和量化精度的性能对比数据。
摘要由CSDN通过智能技术生成

本系列对在Nvidia边缘计算平台进行深度学习模型部署进行一个全面的介绍,主要围绕TensorRT深度学习加速推理框架,以YOLOv5目标检测任务为例,以Jeston Nano为目标计算平台,对环境搭建、模型量化、加速推理、性能评估、后处理加速等细节进行详细说明,并给出C++和Python分别进行模型部署推理的代码实例

阅读本系列,您可以了解到

  • Jeston Nano计算平台以及相关软件资源介绍

  • 什么是TensorRT?什么是TensorRT引擎?如何将Tensorflow等深度学习框架训练好的模型转换为TensorRT引擎?转换过程需要注意什么?TensorRT对模型做了哪些优化?

  • 如何使用TensorRT的Python/C++ API进行模型推理?如何构造输入数据并传递给推理引擎?输出数据又是什么格式,如何获取模型输出结果?

  • 如何利用Nsight对TensoRT推理过程进行抓取,推理过程内部细节和耗时分布是什么样的?

  • YOLOv5这种需要前处理和后处理解码的任务如何在TensorRT上进行推理?如何使用Python/C++进行图像/视频预处理、模型推理、模型解码、非极大值抑制,并最终在输出图像上绘制预测框?

  • 如何使用Gstreamer并利用Nvidia提供的加速插件,对视频源(摄像头/文件)进行编解码及格式转换的加速,提高视频编解码速度

  • Python版本视频推理性能瓶颈分析,如何提速?利用pycuda、cupy、numba等加速包进行加速,可行吗?

  • C++版本如何利用libtorch进行后处理解码

  • 影响性能的因素都有哪些?

Performance

由于在Jeston Nano这种计算能力较弱的平台上,因此重点评估的是速度指标,以及整个检测任务所能达到的极限帧率,而非检测精度。目前优化下来最快的方案是利用Python版本程序,通过TensorRT的Python API进行推理,使用Numpy+PyCUDA进行后处理及部分操作加速,以YOLOv5n的fp16精度模型运行,最快帧率接近11fps

以下表格是不同模型规模、不同量化精度情况下的性能对比(部分数据未记录)

Model

ClassesEngineSizePrecisionThroughput(qps)Latency(ms)ProgramFPS

YOLOv5m

20

146M

fp32

3.5738

279.722

Python

2.77

YOLOv5m

20

70M

fp16Python

YOLOv5s

20

44M

fp32

8.67145

115.22

Python

5.21

YOLOv5s

20

20M

fp16

72.2289

72.2289

Python

6.66

YOLOv5n

20

13M

fp32

21.8709

45.4301

Python

9.85

YOLOv5n

20

7M

fp16

28.4845

35.0919

Python

10.88

YOLOv5n

80

14M

fp32

19.8624

50.3083

Python

5.62

YOLOv5n

80

7M

fp16

26.0428

38.2188

Python

5.85

YOLOv5n

20

7M

fp16

28.4845

35.0919

C++

8.9

  • Model:表示YOLOv5的模型规模

  • Classes:模型支持的分类类别数,训练时确定

  • EngineSize:模型转换为TensorRT引擎后的引擎文件大小

  • Precision:模型转换为TensorRT引擎的转换精度

  • Throughput:模型转换时TensorRT评估推理吞吐量,每秒可执行的推理次数

  • Latency:模型转换时TensorRT评估推理延迟,即推理一次需要的时长(ms)

  • Program:分别用Python实现还是C++实现的检测程序

  • FPS:检测程序统计的平均帧率

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wei.Studio

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值