win10 vs2019 tensorRT7 yolov5配置

该博客介绍了如何在Visual Studio 2019环境下,配合CUDA 10.2编译TensorRT代码,实现Yolo-v5的int8、fp16和batch inference功能。作者强调了CUDA和TensorRT版本匹配的重要性,并分享了遇到的问题及解决办法,包括修改配置文件、处理编译错误等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

参考一个大佬的代码,知乎链接:https://zhuanlan.zhihu.com/p/102453331
GitHub代码链接:https://github.com/enazoe/yolo-tensorrt

一、配置tensorRT

参考之前的博客文章或者网上其他教程。

二、使用vs2019 cuda10.2编译tensorrt代码

1.首先把代码和模型文件下载备用

2.配置sln/props里的配置文件

在这里插入图片描述
把里面cuda opencv tensorrt这三个包的路径修改为自己的路径

3.配置sln/dll_detector里的dll_detector.vcxproj配置文件

<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 10.2.props" />

因为原始是11.0我使用的是10.2所以要修改像上面那样(有两个地方)

如果报错没有props文件:如下

error  : 找不到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CUDA 10.2.targets”。
请确认 Import 声明“C:\Program Files %28x86%29\MSBuild\Microsoft.Cpp\v4.0\V140\\BuildCustomizations\CUDA 10.2.targets”中的表达式正确,且文件位于磁盘上。 

就把下面几个cuda文件的路径复制到c盘vs那个报错的路径里。
在这里插入图片描述

4.先build dll_detector这个项目

修改项目属性,因为vs2019有个api改了所以改成用2015build就能用。
在这里插入图片描述

5.build test_dll这个最后的项目

这个没改成2015也可以编译出来,要依赖上一个项目生成的detector.lib就是了

然后把模型放到…/configs/yolov5-3.0/目录下
把sample_detector.cpp 里改成yolov5版本或者其他支持的版本

detector->init(config_v5);

三、int8 和 fp16 和 batch inference功能使用

1、int8

我使用的是cuda10.2,最新的tensorrt最好使用cuda11,我降版本使用tensorRT7.0后解决了问题,
同时calibration_images.txt里面改为测试图片的路径。
目前tensorRT7.0 cuda10.2不支持int8的批推理,单张可以。不知道最新版本修复没有。

2、fp16

同样是注意cuda的版本和tensorRT的版本,同时fp16支持批推理功能。

3、batch inference

需要使用scripts的yaml2cfg.py的转换,修改–batch 导出的模型才支持批推理,注意使用的是yolov5的v3.0的版本。

总结

非常的厉害的一个大佬写的代码,膜拜ing,我也是在他的指导下才弄好。
其他的功能慢慢去摸索源码了。。
待添加。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值