yolov5-7.0基于win10的C++部署,带tensorRT加速的

之前完成了yolov5在windows下不加速的torchscript部署(有机会写一下)

现在研究如何进行加速,之前还在纠结用啥加速,onnx,openvino,tensorRT,但看了yolov5官方的这个介绍

所以选择了tensorRT加速。官网提供的这个介绍网址无论如何也打不开

https://colab.research.google.com/github/ultralytics/yolov5/blob/master/tutorial.ipynb#scrollTo=VTRwsvA9u7ln&line=2&uniqifier=1

所以在调研了一下下之后,选择了大牛手写的一个工程,先转wts再转engine

GitHub - wang-xinyu/tensorrtx: Implementation of popular deep learning networks with TensorRT network definition API

 为了跟我的yolov5-7.0代码相配合,原码地址

GitHub - ultralytics/yolov5 at v7.0

需要下载以下这个版本的tensorrtx工程

https://github.com/wang-xinyu/tensorrtx/tree/yolov5-v7.0

1.生成.wts文件

下载完成后,将rtx工程yolov5文件夹下的gen_wts.py拷贝到yolov5的根目录下,然后再把想转化的pt文件定位好位置,然后运行:

python gen_wts.py -w yolov5s.pt -o yolov5s.wts

 进行wts文件的生成。

2.C++部署

然后我们来操作C++的部分

贴一下我的配置:

win10

cuda11.0,cudnn8.0

tensorRT 8.4.2.4

opencv4.5.4

有两种方法,第一当然我们可以按大神wangxinyu的方法生成一个工程,这个工程功能会很全,但目录、引用文件比较复杂(参考tensorRTX官方说明);第二种方法,直接新建一个C++工程,自己添加相应文件,手动进行配置,虽然配置过程复杂一点,但最终的工程会更简单清晰(参考文献1)

2.1Cmake法部署

注意官方是Linux下的部署,应用windows需要下载cmake,直接官网下载最新版

在此目录下新建build文件夹

用编辑软件打开CmakeLists.txt,修改目录,主要是cuda和tensorRT的目录,opencv能自己find到,很神奇

然后打开cmake_gui,配置目录和config不多说直接贴图

一路configure,finish,generate,open project都没有问题打开后如下图

 

可见工程比较多了,结构比较复杂,官网的运行方法如下图

在vs里生成后,将yolov5_det设为启动项,再在属性-调试-命令参数中输入-s或-d后的内容即可进行调试,当然如果是自己训练的网络,注意在config文件中更改类别数目 

2.2手动制作C++工程

为了避免去cmake一个工程,而是直接攒一个工程,结构会清晰很多,主要内容可以参考文献1,只有在API_EXPORT这一步,可以不在.h中添加,而在C++的属性-预处理中添加,另外我这儿也没有添加NOMINMAX,并没有报错,也没深究,贴一下我的预处理器定义

以上。 

文献1:实战教程:win10环境下用TensorRT推理YOLOv5_tensorrtx wang_脆皮茄条的博客-CSDN博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值