tensorrtx-yolo版tensorrt环境安装

发布时间:2024年01月15日

环境介绍

Win10

Cuda11.2

Tensorrt8.6

Visual studio2019

Opencv4.8

Cmake3.17.1

需要现在v5+tensorrx的源码

https://github.com/ultralytics/yolov5

https://github.com/wang-xinyu/tensorrtx

这两个版本需要对应一致

我这里运行的都是v5的version7版本。

首先在tensorrtx-yolov5-v7.0\yolov5目录下新建个build文件夹,用于后续编译使用。

然后需要修改CMakeLists里面的配置,一共6个地方,分别是nvidia的Cuda路径,Tensorrt的路径和c++的路径。

然后在网上下载cmake-gui

双击运行打开这个cmake-gui.exe文件即可。

打开后路径配置,第一步填两行路径,上面行是tensorrtx-yolov5-v7.0\yolov5 下面行是

E:\dataset3\tensorrtx-yolov5-v7.0\yolov5\build,填完之后点击generate生成即可,如果环境配置没有问题,就会生成成功。

中途会弹出框让你填Visual Studio的版本,这里我的版本是Visual Studio 2019的版本

之前我安装Visual Studio 2022版本总是报错,具体报错内容已经忘记了。

在安装路径都正确之后,就可以编译成功。

如果遇到No CUDA toolset found这种报错。

需要将nvidia的cuda里的MSBuildExtensions文件夹下的4个文件夹复制

复制到自己Visual Studio安装的路径下的BuildCustomizations里面

然后generate成功。

之后就是打开我们要编译的代码,打开路径E:\dataset3\tensorrtx-yolov5-v7.0

然后对我们要编译的代码进行重新生成即可。

在这之前我们还需要配置Visual里面的环境变量。

首先这里改成Release

在常规-输出目录中配置路径E:\dataset3\tensorrtx-yolov5-v7.0\yolov5\build\Release\

其实路径在CMakeLists配过了,直接重新生成即可。

如果生成过程中报错: “dirent.h”: No such file or directory

说明没有”dirent.h”,则需要搜索本地的dirent.h文件在哪,用everything搜索挺方便的。

找到路径之后在c/c++常规里面的附加包含目录添加dirent.h所在的文件夹路径

最后生成成功即可。

然后回到tensorrtx-yolov5-v7.0\yolov5\build\Release路径下可以看到有yolov5_det.exe文件生成

我们需要把v5源码中生成wts模型。首先把tensorrtx-yolov5-v7.0目录下的yolov5目录下的gen_wts.py和下载的yolov5s.pt拷贝到yolov5-7.0目录下

然后cmd进入yolov5目录位置运行:python gen_wts.py -w best.pt -o best.wts

然后在将生成的best.wts拖到tensorrtx-yolov5-v7.0\yolov5\build\Release文件夹下。

运行命令yolov5_det -s best.wts best.engine s

就能在当前目录生成tensorrt格式的best.engine模型了。

然后我们在输入命令yolov5_det -d yolov5s.engine ./images就可以将当前文件夹下的images文件夹里面的图片进行检测了

如果需要用python运行py代码来处理,需要先生成dll文件。在常规里面选择生成dll动态库。

然后重新生成之后,当前文件夹下就多出来了一个dll文件。

再将tensorrtx-yolov5-v7.0\yolov5目录下的yolov5_det_trt.py拖到build\Release文件夹下即可。

然后修改里面的加载dll和tensorrt模型的路径即可

最后运行python yolov5_det_trt.py和上面.exe运行的结果是一样的。

文章来源:https://blog.csdn.net/qq_34904125/article/details/135610330
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。