栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

VS2019+CUDA10.2+tensorRT7.0+opencv4.12环境配置yolo-tensorrt

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VS2019+CUDA10.2+tensorRT7.0+opencv4.12环境配置yolo-tensorrt

为了在windows上运行yolo-tensorrt项目进行了VS2019+CUDA10.2+tensorRT7.0+opencv4.12的环境配置
项目地址:https://github.com/enazoe/yolo-tensorrt/tree/master

1.1 首先安装VS2019

进入VS官网下载社区版2019

1.2 安装CUDA和CUDNN

注意:我之前为了配置python的深度学习环境,安装过CUDA,但是精简安装,最好还是重新安装。版本CUDA10.2+cuDNN v7.6.5
进入官网下载CUDA2019
安装CUDA和CUDNN参考这个链接的1.2和1.3节

1.3安装opencv4.1.2

参考这个视频下载opencv4.1.2
下载opencv选择releases,如下图,找到opencv4.1.2


解压得到opencv-4.1.2文件,我把它放在了C:Usersfreeyudocuments下
添加opencv环境变量,路径是解压后opencv包的build/x64/vc15/bin,这一步直接看视频会更清楚。

1.4 安装tensorrt7.0

下载链接tensorrt7.0

请注意:我的版本是CUDA10.2+cuDNN v7.6.5,tensorrt也要下载对应的版本。版本不对应会导致很多错误。

下载后解压文件,解压得到TensorRT-7.0.0.11文件,我把它放在了C:Usersfreeyudocuments下

添加环境变量
复制C:UsersfreeyudocumentsTensorRT-7.0.0.11lib下的dll文件到C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.2bin

安装uff和graphsurgeon
在终端激活一个自己的python虚拟环境,终端路径打开到TensorRT-7.0.0.11graphsurgeon下,安装graphsurgeon-0.4.1-py2.py3-none-any.whl

cd C:UsersfreeyudocumentsTensorRT-7.0.0.11graphsurgeon
pip install graphsurgeon-0.4.1-py2.py3-none-any.whl

如下示例

安装uff同理TensorRT-7.0.0.11uff下

2 配置yolo-tensorrt项目 2.1 下载解压打开文件

下载项目
使用master分支

解压文件夹后,把项目重命名为yolo-tensorRT,使用VS2019打开yolo-tensorRT/sln/sln.sln文件。看到下图,点击确定
2.2 配置CUDA生成自定义项目

右击项目dll_detector,选择 生成依赖项->生成自定义。只选择CUDA10.2那一项,其他项取消。
test_dll同理

2.3配置属性表

属性管理器->dll_detector->Releas|x64下新建属性表,分别命名为cuda10.2.props,opencv4.1.2.props,tensorrt_7.0.props
在yolo_tensorRTslndll_detector文件夹下出现这三个文件

配置CUDA属性表
右击cuda10.2.props->属性
包含目录:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.2include
库目录:C:Program FilesNVIDIA GPU Computing ToolkitCUDAv10.2libx64
附加依赖项:
cublas.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib

配置tensorRT属性表
包含目录: C:UsersfreeyudocumentsTensorRT-7.0.0.11include
库目录:C:UsersfreeyudocumentsTensorRT-7.0.0.11lib
附加依赖项:
myelin64_1.lib
nvinfer.lib
nvinfer_plugin.lib
nvonnxparser.lib
nvparsers.lib
-配置opencv属性表
包含目录:C:Usersfreeyudocumentsopencv-4.1.2buildincludeopencv2
C:Usersfreeyudocumentsopencv-4.1.2buildinclude
库目录: C:Usersfreeyudocumentsopencv-4.1.2buildx64vc15lib
附加依赖项:
opencv_world412.lib
opencv_world412d.lib

属性管理器->test_dll->Releas|x64下添加现有属性表,找到上面三个文件就可以了。

2.4修改运行格式

把上方修改成Release,x64

2.5 修改预处理器定义

项目->dll_detector->右击->属性->C/C+±>预处理器->预处理器定义->编辑
添加“_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING”

2.6 生成项目

项目->dll_detector->右击->生成

项目->test_dll->右击->生成

最后在文件夹里的文件如下图

2.7 运行文件
    在yolo_tensorRTconfigs文件中加入yolov4.weights
    yolov4.weights的百度云下载链接
    提取码:oeh6

    点击test_dll.exe文件

    configs文件夹中生成yolov4-kFLOAT-batch1.engine结果
3踩过的坑 3.1 一定要先安装VS2019,再安装CUDA。

我的情况是,配置python环境时,先有了CUDA11.1(是精简安装)
我曾经尝试使用CUDA11.1直接和VS2019配置,最后有bug解决不了。
bug如下,不知道是CUDA11.1精简安装的缘故,还是VS2019在CUDA11.1后装的缘故。
大家还是尽量先安装VS2019,再安装CUDA10.2(自定义安装)

3.2 打开文件,显示未能正确加载项目

报错:

C:UsersfreeyuDesktoplearnyolo-tensorrt-master (2)yolo-tensorrt-masterslntest_dlltest_dll.vcxproj : error : 找不到导入的项目“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160BuildCustomizationsCUDA 11.1.props”。请确认 import 声明“C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160BuildCustomizationsCUDA 11.1.props”中的表达式正确,且文件位于磁盘上。 C:UsersfreeyuDesktoplearnyolo-tensorrt-master (2)yolo-tensorrt-masterslntest_dlltest_dll.vcxproj

原因:这个是因为我曾经使用CUDA11.1和VS2019配置过环境
解决方案:在C:Program FilesNVIDIA GPU Computing ToolkitCUDAv11.1extrasvisual_studio_integrationMSBuildExtensions(CUDA使用默认安装路径)文件下,把

CUDA 11.1.props
CUDA 11.1.targets
CUDA 11.1.xml

复制到C:Program Files (x86)Microsoft Visual Studio2019CommunityMSBuildMicrosoftVCv160BuildCustomizations(VS2019使用默认安装路径)路径下。重新打开项目就解决了bug。

3.3 filesystem代码问题


解决方案:项目->dll_detector->右击->属性->C/C+±>预处理器->预处理器定义->编辑
添加“_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING”
目录2.5步骤就是解决这个bug的。

参考链接:https://blog.csdn.net/gulingfengze/article/details/108425949?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

https://blog.csdn.net/qq_41915226/article/details/106856587

https://www.cnblogs.com/winslam/p/13816143.html

https://github.com/enazoe/yolo-tensorrt/tree/master

https://github.com/opencv/opencv

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/753790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号