Jetson Nano( 五) TensorRT yolov4 yolov4-tiny yolov5 实测

TensorRT yolov4 yolov4-tiny yolov5

软硬件环境

Jetson Nano 4G
JP 4.4.1
CUDA 10.2
TensorRT 7.1.3.0
Pytorch 1.6.0

参考大佬项目

https://github.com/enazoe/yolo-tensorrt作者封装了模型的转换
https://github.com/wang-xinyu/tensorrtx
https://github.com/jkjung-avt/tensorrt_demos

简要流程

使用模型框架不同主要使用了pytorch和darknet。

Darknet → ONNX → TensorRT
PyTorch → ONNX/WTS → TensorRT

注意要点

1.CMakelist.txt中TensorRT链接地址。
2.CMakelist.txt中CUDA链接地址。
3.CUDA TensorRT环境变量。
4.Yolov4/v4-tiny 中cfg中batch设置(batch 1或4)。
5.Yolov5 版本和PyTorch版本的对应(Yolov5 v3.1 pytorch 1.6)。

操作流程

只要环境正常,操作上不复杂,使用大佬的封装好了的方法。

git clone https://github.com/enazoe/yolo-tensorrt.git
cd yolo-tensorrt/
mkdir build
cd build/
cmake ..
make
./yolo-trt

注意:目前主版本支持的yolov5为3.0版本,编译之前修改samples/sample_detector.cpp内需要推理的模型如下:
在这里插入图片描述

附上yolov4-tiny运行图片,大约推理耗时36—40ms左右:
在这里插入图片描述
在这里插入图片描述

记录遇坑

在这里插入图片描述
本人把下面nvcc目录添加进/etc/environment文件下,就可以了。

CUDACXX=/usr/local/cuda-10.2/bin/nvcc

推理速度记录

系统 模型 框架 输入 精度 时间(ms)
JP4.3 yolov5s v1.0 PyTorch 1.4 416*416 60~80
JP4.4.1 yolov4 Tensorrt 7.13.0 416*416 FP16 280
JP4.4.1 yolov4 Tensorrt 7.13.0 416*416 FP32 380
JP4.4.1 yolov4-tiny(batch 1) Tensorrt 7.13.0 416*416 FP16 45
JP4.4.1 yolov4-tiny(batch 4) Tensorrt 7.13.0 416*416 FP16 38
JP4.4.1 yolov5s v3.1 Tensorrt 7.13.0 608*608 FP16 110~130
JP4.4.1 yolov5s v3.1 PyTorch 1.6 608*608 170~210
JP4.4.1 yolov5s v3.1 PyTorch 1.6 416*416 120~140

不知道为何yolov5s v1.0版本直接在nano JP4.3上能跑100ms以内,如有有了解的大佬请告知一下哈。

猜你喜欢

转载自blog.csdn.net/djj199301111/article/details/110173275