站点图标 AI技术聚合

Yolov5部署TensorRT加速

Yolov5部署TensorRT加速

系统环境:
Windows11;
cuda 11.1;
cudnn8.0.5;
VisualStudio2017;
Opencv3.4.0

1.软件安装

1.安装Visual Studio 2017

下载Visual Studio 2017 社区版
下载链接:https://visualstudio.microsoft.com/zh-hans/downloads/
一定要在安装CUDA之前安装Visual Studio,安装CUDA时会自动配置好VS中的环境,不然在VS中无法使用CUDA

2.安装CUDA11.0

确定并下载自己使用的CUDA版本
CUDA下载链接:https://developer.nvidia.com/cuda-toolkit

1.将CUDA运行安装,建议默认路径

2.安装完成后设置环境变量

检查路径是否添加到系统变量中,如果没有,需要自己添加

接下来,给系统添加几个系统变量
CUDA_LIB_PATH =%CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH =%CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64
CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1

在系统变量Path中添加
%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
C:\Program Files\NVIDIAGPU Computing Toolkit\CUDA\v11.1\include
C:\Program Files\NVIDIA GPU ComputingToolkit\CUDA\v11.1\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDASamples\v11.1\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDASamples\v11.1\common\lib\x64

3.安装cudnn8.0.5

根据自己的CUDA版本下载对应的cudnn
cudnn下载链接:https://developer.nvidia.cn/rdp/cudnn-download

解压后将bin,include,lib中的文件复制粘贴到cuda的文件夹下

将cuda\bin中的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin
将cuda\include中的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include
将cuda\lib中的文件复制到 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib

cmd执行:nvcc -V

即安装成功

4.安装Opencv3.4.0

下载链接:https://opencv.org/
注意:不要下载最新版本(不要高于4.0版本!)
将压缩包解压到相应目录,如D:\czp\opencv
将其添加进系统变量Path:D:\czp\opencv\build\x64\vc14\bin

5.安装TensorRT

根据CUDA和cudnn版本下载对应的TensorRT
TensorRT下载链接:https://developer.nvidia.com/nvidia-tensorrt-download
1.解压后将里面lib的绝对路径添加到环境变量中

将 TensorRT-8.0.1.6\include中头文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\include
将TensorRT-8.0.1.6\lib中所有lib文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\lib\x64
将TensorRT-8.0.1.6\lib中所有dll文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin

2.安装uff和graphsurgeon

解压后的uff和graphsurgeon文件夹中,分别含有各自的.whl安装文件
使用pip进行安装
pip install graphsurgeon-0.4.5-py2.py3-none-any.whl
pip install uff-0.6.9-py2.py3-none-any.whl

3.安装pycuda
如果要使用python接口的tensorrt,则需要安装pycuda
pip install pycuda

4.配置VS2017
用VS2017打开sampleMNIST示例
将D:\TensorRT-8.0.1.6\lib加入 项目->属性->VC++目录–>可执行文件目录
将D:\TensorRT-8.0.1.6\lib加入 VC++目录–>库目录
将D:\TensorRT-8.0.1.6\include加入C/C++ –> 常规 –> 附加包含目录
将nvinfer.lib、nvinfer_plugin.lib、nvonnxparser.lib和nvparsers.lib加入链接器–>输入–>附加
依赖关系
D:\TensorRT-8.0.1.6\lib*.lib

5.测试TensorRT示例代码


即TensorRT安装成功!

二、Yolov5部署TensorRT加速

1.Yolov5项目部署

1.下载yolov5源码
GitHub地址:https://github.com/ultralytics/yolov5.git

2.下载tensorrtx源码
GitHub地址:https://github.com/wang-xinyu/tensorrtx.git
注意:yolov5版本必须要与tensorrtx版本对应!

3.下载dirent.h文件
下载链接:https://github.com/tronkko/dirent
放置到 tensorrtx/include文件夹下,文件夹需新建

4.生成yolov5s.wts文件
将tensorrtx源码中的gen_wts.py复制到yolov5源码中并运行,生成.wts模型
将’yolov5s.wts’ 文件复制到tensorrtx/yolov5/build目录下

2.Cmake编译生成VS工程

1.source code 为源码的路径 build the binaries为生成的VS工程的路径
2.路径设置完成后,点击左下方Configure,然后选择VS的版本以及x64平台
3.点击Generate生成项目




注意:配置时出现的红色警告被忽略!

3.VS生成engine模型

1.打开yolov5工程编译生成,可以看到在tensorrtx\yolov5\build\Debug文件下生成了一个yolov5.exe文件
2.cmd进入到tensorrtx\yolov5\build\Debug目录下,然后执行**yolov5.exe -s yolov5s.wts yolov5.engine s**命令, 可以看到在当前目录下生成了一个yolov5.engine文件,说明转换成功。
注意:转换过程可能会比较慢,请耐心等待
3.在tensorrtx\yolov5\build\Debug目录下新建一个img文件夹然后放入测试图片,通过cmd执行yolov5.exe -d img,调用yolov5.engine进行测试





即Yolov5部署TensorRT成功!

版权声明:本文为博主luohuaqiuyu原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/luohuaqiuyu/article/details/123205742

退出移动版