记录一次 Windows下 TensorRT 部署Yolov5模型(C++)

环境介绍

  • Windows版本:Windows11
  • CUDA版本:11.1.1
  • CUDNN版本:8.2.1
  • TensorRT版本:7.2.1.6
  • Visual studio版本:2017社区版
  • openCV版本:3.4.6
  • cmake版本:3.17.1

所需下载资源

yolov5源代码

下载yolov5源码链接:https://github.com/ultralytics/yolov5
下载yolov5
在这里我选择的v7.0版本下载

tensorrx源代码

tensorrx下载链接:https://github.com/wang-xinyu/tensorrtx
下载tensorrx
因为我下载的yolov5版本为7.0,所以在这里我需要下载与之对应的版本7.0。

下载yolov5预训练模型

下载地址:https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt
根据自己下载的yolov5版本下载对应的模型

正式部署

解压tensorrtx-yolov5-v7.0与yolov5-7.0(解压位置由你决定)

解压之后如图所示
在这里插入图片描述## 进入tensorrtx-yolov5-v7.0目录下的yolov5目录下出创建一个build文件夹

进入tensorrtx-yolov5-v7.0目录下的yolov5目录下出创建一个build文件夹

在这里插入图片描述
在这里插入图片描述

修改CMakeLists(可跳过)

之所以修改CMakeLists的原因是因为我安装openCV是因为我没有默认安装位置,导致后续的操作中它无法自动的寻找到openCV路径
在这里插入图片描述set(OpenCV_DIR “你openCV的安装目录”)

cmake配置

打开cmake-gui应用程序
配置如下图示所示

在这里插入图片描述

选择正确的目录之后点击Configure按钮之后进行下一步配置

在这里插入图片描述
没有出现问题如下图所示
在这里插入图片描述
之后点Generate按钮与open Project按钮

如果你遇到No CUDA toolset found的问题(没有则跳过)

找到你原来下载的CUDA的安装包用解压软件打开
在这里插入图片描述
在这里插入图片描述在这里插入图片描述这个目录根据你的VS安装位置来选择(重点是找到BuildCustomizations这个文件)

修改代码解决错误(没有错误跳过)

点击open project之后会得到如下,重点是yolov5_det这个项目(推理图片)
在这里插入图片描述
在这里插入图片描述之后你可能会得到如下错误
在这里插入图片描述现在来解决这些问题
第一个问题:无法打开包括文件: “dirent.h”: No such file or directory
发生这个原因是因为这个下面没有包含这个dirent.h文件,我们要做的是让这个项目包含这个文件
首先下载这个文件:https://github.com/tronkko/dirent 并解压
在这里插入图片描述在这里插入图片描述
在这里插入图片描述将刚才解压的include(目录根据你自己的存放位置填写)添加到这里
添加完之后重新生成这个项目(你会发现这个问题已经解决)
在这里插入图片描述
现在解决第二个问题:“max”: 不是“std”的成员
双击这个错误会跳转到相应的代码位置
在这里插入图片描述再次重新生成项目
在这里插入图片描述
现在解决第三个问题:“unordered_map”: 不是“std”的成员
在这里插入图片描述再次重新生成项目
在这里插入图片描述至此部署完成

部署完成测试

生成WTS模型(用于之后转换为tensorrt专用的序列化模型)

首先把tensorrtx-yolov5-v7.0目录下的yolov5目录下的gen_wts.py和下载的yolov5s.pt拷贝到yolov5-7.0目录下
在这里插入图片描述在这里插入图片描述之后用cmd进入yolov5目录位置:执行python gen_wts.py -w yolov5s.pt -o yolov5s.wts
在这里插入图片描述在这里插入图片描述

转换为TensorRT专用的序列化模型

拷贝yolov5s.wts到我们创建build目录下的Release目录下
在这里插入图片描述cmd进入这个目录:执行 yolov5_det -s yolov5s.wts yolov5s.engine s 最后的s参数是因为我使用的s模型,如果你是其他模型,则输入对应的参数(生成时间大概10-20分钟)
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

测试推理图片

拷贝yolov5-7.0目录下的data目录下的images文件夹到创建build目录下的Release目录下
在这里插入图片描述
在这里插入图片描述执行程序推理图片(命令:yolov5_det -d yolov5s.engine ./images)
在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述

python调用dll来推理图片

首先生成dll文件

在这里插入图片描述

修改python代码

tensorrtx-yolov5-v7.0\yolov5目录下提供了相关的代码把它拷贝到Release目录下
在这里插入图片描述打开这个文件并修改相关的设置
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

运行代码测试

在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想看一次满天星

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

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

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

打赏作者

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

抵扣说明:

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

余额充值