『heqingchun-ubuntu系统下基于TensorRT进行YOLOv8部署C++』

2 篇文章 0 订阅
1 篇文章 0 订阅

ubuntu系统下基于TensorRT进行YOLOv8部署C++

一、环境配置

1.nvidia

安装英伟达显卡驱动、cuda、cudnn。可以参考我的博客:
链接: ubuntu开发环境配置(cuda、cudnn、ffmpeg、opencv、darknet-master、TensorRT、python、pytorch、MySql、qt(armv8交叉编译))

链接: 超级详细Ubuntu20.04.5系统下编译安装OpenCV with ffmpeg4.2.7、NVIDIA显卡驱动515、cuda11.5、cudnn8.3.3并编译使用darknet-yolov4

2.opencv

安装opencv。可以参考我的博客:
链接: ubuntu编译安装OpenCV

3.tensorRT

下载配置tensorRT。可以参考我的博客:
链接: ubuntu使用TensorRT配置

二、文件下载

1.TensorRT-Alpha-main.zip

(1)下载

网址:

https://github.com/FeiYull/tensorrt-alpha

(2)修改

解压下载的文件,修改文件:

vim TensorRT-Alpha-main/cmake/common.cmake

将"set(TensorRT_ROOT /root/TensorRT-8.4.2.4)"改为带有自己tensorRT目录的路径,如:“set(TensorRT_ROOT /home/heqingchun/InstallPackage/tensorrt/TensorRT-8.4.3.1)”

2.YOLOv8onnx文件

(1)下载

yolov8n.onnx
链接: yolov8n.onnx
yolov8s.onnx
链接: yolov8s.onnx
yolov8m.onnx
链接: yolov8m.onnx
yolov8l.onnx
链接: yolov8l.onnx
yolov8x6.onnx
链接: yolov8x6.onnx
下载后文件放在这个路径:TensorRT-Alpha-main/data/yolov8"

(2)编译

注:将TensorRT的bin目录添加到环境变量可以直接使用trtexec指令,如果没有添加就需要把绝对路径写上。

cd 你的路径/TensorRT-Alpha-main/data/yolov8

添加了环境变量:

trtexec   --onnx=yolov8n.onnx  --saveEngine=yolov8n.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
trtexec   --onnx=yolov8s.onnx  --saveEngine=yolov8s.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
trtexec   --onnx=yolov8m.onnx  --saveEngine=yolov8m.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
trtexec   --onnx=yolov8l.onnx  --saveEngine=yolov8l.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
trtexec   --onnx=yolov8x.onnx  --saveEngine=yolov8x.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640

未添加环境变量:

你的路径/TensorRT-8.4.3.1/bin/trtexec   --onnx=yolov8n.onnx  --saveEngine=yolov8n.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
你的路径/TensorRT-8.4.3.1/bin/trtexec   --onnx=yolov8s.onnx  --saveEngine=yolov8s.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
你的路径/TensorRT-8.4.3.1/bin/trtexec   --onnx=yolov8m.onnx  --saveEngine=yolov8m.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
你的路径/TensorRT-8.4.3.1/bin/trtexec   --onnx=yolov8l.onnx  --saveEngine=yolov8l.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640
你的路径/TensorRT-8.4.3.1/bin/trtexec   --onnx=yolov8x.onnx  --saveEngine=yolov8x.trt  --buildOnly --minShapes=images:1x3x640x640 --optShapes=images:4x3x640x640 --maxShapes=images:8x3x640x640

在当前路径会生成yolov8n.trt、yolov8s.trt、yolov8m.trt、yolov8l.trt、yolov8x.trt、yolov8x6.trt等文件。

三、YOLOv8编译运行

1.编译

cd 你的路径/TensorRT-Alpha-main/yolov8
mkdir build && \
cd build && \
cmake .. && \
make -j12

2.运行

效果图默认保存在路径:TensorRT-Alpha-main/yolov8/build
–show 表示可视化结果
–savePath 表示保存,默认保存在build目录
–savePath=…/ 保存在上一级目录

(1)推理图片

./app_yolov8  --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=1  --img=../../data/6406407.jpg   --show --savePath

(2)推理视频

./app_yolov8  --model=../../data/yolov8/yolov8n.trt     --size=640 --batch_size=8  --video=../../data/people.mp4  --show --savePath=../

(3)在线推理相机视频

./app_yolov8  --model=../../data/yolov8/yolov8n.trt     --size=640 --batch_size=2  --cam_id=0  --show

四、生成app_yolov8的同时,生成了动态库libyolov8.so,可以在项目中使用。

参考:
链接: linux下 yolov8 tensorrt模型加速部署【实战】

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

赫庆淳

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

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

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

打赏作者

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

抵扣说明:

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

余额充值