pc 端 TensorRT API 实现 YOLOv11 的 C++ 小白部署经验

 

标题1  模型转化

python

先下载项目

https://github.com/ultralytics/ultralytics  

同时下载模型

https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11n.pt

pythonconda虚拟环境,主要是以下三个,其余缺什么直接pip

anaconda3+python3.8

torch==1.9.0+cu111

ultralytics==8.3.3

环境搭建好,要转换模型,使用 ultralytics/engine/exporter.py 脚本或者在命令行直接输入

yolo export model=yolo11n.pt format=onnx dynamic=False opset=12

得到onnx模型。

2 c++ 编译安装所需环境。

注意 先装vs2019 在安装CUDA

vs2019

cmake==3.24.3

cuda11.7.1+cudnn8.8.0

Tensorrt==8.6.1.6

opencv==4.8.0

以上全部需要装到pc端,需要去官网自行下载,且全部需要设置环境变量。

 CMake下载

链接:Download CMake, 安装时选中红款中选项即可自动加入环境变量。

cuda11.7.1+cudnn8.8.0 安装     

vs2019安装完要重启电脑,CUDA安装完也要重启电脑

CUDA安装及环境配置——最新详细版-优快云博客

Tensorrt==8.6.1.6 安装

win系统安装tensorRT-8.6.1_tensorrt 8.6 下载-优快云博客

不过配置完成后,记得将tensorRT目录下的 bin目录加到系统环境变量里。

opencv==4.8.0  安装

[C++] 详细教程 - opencv4.8.0安装和验证测试 (Windows + Linux)_ubuntu安装opencv-优快云博客

同样 opencv安装完成后,需要将以下两个路径加入系统环境变量

3 编译C++代码和模型

yolov11 c++项目地址  

spacewalk01/yolov11-tensorrt :使用 TensorRT API 实现 YOLOv11 的 C++

用vs2019打开此项目

首先我们修改CMakeLists.txt文件,将源码里面opencv路径和tensorrt路径修改成自己路径

# Find and include OpenCV

set(OpenCV_DIR "D:\\lufiles\\opencv480\\build\\x64\\vc16\\lib")

# Set TensorRT path if not set in environment variables

set(TENSORRT_DIR "D:\\lufiles\\TensorRT-8.6.1.6")

然后打开项目文件夹,在红线框处 输入cmd,

然后依次输入

mkdir build

cd build

cmake ..

之后去build文件夹找到sln文件用vs打开它

然后选择x64 release,并选中ALL_BUILD右键单击选择生成

之后build\Release文件夹下面有个yolov11-tensorrt.exe生成。

之后我们开始转换onnx模型到tensorrt模型,打开文件目录

同样在顶部导航栏里输入cmd,然后执行命令

trtexec --onnx=yolo11n.onnx --saveEngine=yolov10n.engine --fp16

稍等10多分钟后会自动生成yolo11n.engine文件,我们将yolo11n.engine复制到build\Release文件

一切准备好后,可以在准备一张图片,测试是否编译成功

4 测试

第一种,进入文件目录,顶部导航栏输入cmd

然后执行命令

yolov11-tensorrt.exe yolo11n.engine "test.jpg"

成功后,程序会show,yolov11预测的结果和保存一张结果图,保存地址和原图一样。

第二种方式,在vs2019里打开整个项目,并找到Release目录并右键,在终端打开,

在终端输入命令 ./yolov11-tensorrt.exe yolo11n.engine "test.jpg"

结果同上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值