需要注意的是这个方法只在linux环境下可行
pip install -U nvidia-tensorrt --index-url https://pypi.ngc.nvidia.com
验证依赖包
python3
>>> import tensorrt
>>> print(tensorrt.__version__)
参考工程:https://github.com/ultralytics/yolov5
6.0版本的YOLOV5工程export.py已经写好了pt转onnx转engine的代码
python export.py --weights yolov5s.pt --include engine --device 0
其中onnx格式的权重文件可以在https://netron.app/网站中可视化查看
得到tensorrt库支持的engine后缀权重文件
python detect.py --source data/images --weights yolov5s.engine --device 0
加速之前的结果:
加速之后的结果:
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)