文章目录
- 零、pt转onnx模型
- 一、onnx转trt模型
- 二、推理trt模型
零、pt转onnx模型
参考:https://github.com/ultralytics/yolov5
用根目录下的export.py可以转pt为onnx模型,命令如下可以转换成动态batch的onnx模型
python3 export.py --weights=./yolov5s.pt --dynamic
工具来源,接上一篇安装TensorRT:
/XXX/TensorRT-XXX/bin
安装连接:https://developer.nvidia.com/nvidia-tensorrt-8x-download (有限GA版,稳定版)
注意:这里版本推荐TensorRT-8.4.2.4,这里很坑,往上可能可以,往下就不一定了!!
一、onnx转trt模型
这里直接取动态batch的onnx模型:https://gitee.com/monkeycc/yolov5/releases/tag/v6.0
./trtexec --onnx=/home/xiao/thomascai/data/model/yolov5s_batch.onnx --saveEngine=/home/xiao/thomascai/data/model/bakup/yolov5s_bs_4.trt --workspace=6000 --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:32x3x640x640
注意:
- minShapes:表示最小的shape;
- optShapes:表示最优的shape;
- maxShapes:表示支持最大的shape
其中的XXXShapes中images
表示输入的name,参照上图。https://netron.app/
二、推理trt模型
./trtexec --loadEngine=/home/xiao/thomascai/data/model/bakup/yolov5s_bs_4.trt --batch=4 --warmUp=200 --iterations=2000
得到:
注意:这里千万注意版本,笔者踩了很大的坑,这里用TensorRT-8.4.2.4是OK的,千万注意!!
参考:
- https://blog.csdn.net/m0_72734364/article/details/128758544?app_version=5.12.1&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128758544%22%2C%22source%22%3A%22m0_72734364%22%7D&utm_source=app
- https://developer.nvidia.com/zh-cn/blog/tensorrt-trtexec-cn/
- https://blog.51cto.com/u_15357586/3783947