Tensorrt踩坑日志—YOLOv5使用python的Tensorrt依赖包直接加速

1.用python版的tensrrt实现

1.1安装依赖包

需要注意的是这个方法只在linux环境下可行

pip install -U nvidia-tensorrt --index-url https://pypi.ngc.nvidia.com

验证依赖包

python3
>>> import tensorrt
>>> print(tensorrt.__version__)

1.2转换权重文件

参考工程:https://github.com/ultralytics/yolov5
6.0版本的YOLOV5工程export.py已经写好了pt转onnx转engine的代码

python export.py --weights yolov5s.pt --include engine --device 0

Tensorrt踩坑日志—YOLOv5使用python的Tensorrt依赖包直接加速_第1张图片
其中onnx格式的权重文件可以在https://netron.app/网站中可视化查看
得到tensorrt库支持的engine后缀权重文件

python detect.py --source data/images --weights yolov5s.engine --device 0

1.3report结果

加速之前的结果:
Tensorrt踩坑日志—YOLOv5使用python的Tensorrt依赖包直接加速_第2张图片
加速之后的结果:

Tensorrt踩坑日志—YOLOv5使用python的Tensorrt依赖包直接加速_第3张图片
Tensorrt速度:1.0毫秒预处理,3.6毫秒推断,在形状(1,3,640,640)下每幅图像10.2毫秒NMS
正常速度:0.3毫秒预处理,18.1毫秒推断,在形状(1,3,640,640)下的每个图像0.8毫秒NMS
实验平台:
GPU:NVIDIA Titan V 12G
环境配置:PyTorch1.11.0+opencv 4+CUDA11.6+Python3.9.12

后续任务:

1.C++版tensorrt加速
2.部署至jetson nano
3.尝试不同backbone的网络在python中使用tensorrt加速

Jetson nano目前已经装机并测试,并且配备了USB摄像头和无线收发天线。

参考文章:
https://blog.csdn.net/weixin_43356770/article/details/124310691(Yolov5使用TensorRT加速(python篇)/win10/linux)

你可能感兴趣的:(Jetson,nano踩坑日志,python,计算机视觉,opencv)