Yolov5部署TensorRT加速

Yolov5部署TensorRT加速

  • 一、软件安装
    • 1.安装Visual Studio 2017
    • 2.安装CUDA11.0
    • 3.安装cudnn8.0.5
    • 4.安装Opencv3.4.0
    • 5.安装TensorRT
  • 二、Yolov5部署TensorRT加速
    • 1.Yolov5项目部署
    • 2.Cmake编译生成VS工程
    • 3.VS生成engine模型

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

一、软件安装

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
Yolov5部署TensorRT加速_第1张图片
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
Yolov5部署TensorRT加速_第2张图片

3.安装cudnn8.0.5

根据自己的CUDA版本下载对应的cudnn
cudnn下载链接:https://developer.nvidia.cn/rdp/cudnn-download
Yolov5部署TensorRT加速_第3张图片
解压后将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
Yolov5部署TensorRT加速_第4张图片
即安装成功

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
Yolov5部署TensorRT加速_第5张图片
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示例代码
Yolov5部署TensorRT加速_第6张图片
Yolov5部署TensorRT加速_第7张图片
即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目录下
Yolov5部署TensorRT加速_第8张图片

2.Cmake编译生成VS工程

1.source code 为源码的路径 build the binaries为生成的VS工程的路径
2.路径设置完成后,点击左下方Configure,然后选择VS的版本以及x64平台
3.点击Generate生成项目
Yolov5部署TensorRT加速_第9张图片
Yolov5部署TensorRT加速_第10张图片
Yolov5部署TensorRT加速_第11张图片
Yolov5部署TensorRT加速_第12张图片
注意:配置时出现的红色警告忽略!

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加速_第13张图片
Yolov5部署TensorRT加速_第14张图片
Yolov5部署TensorRT加速_第15张图片
Yolov5部署TensorRT加速_第16张图片
Yolov5部署TensorRT加速_第17张图片
即Yolov5部署TensorRT成功!

你可能感兴趣的:(深度学习,visual,studio,目标检测)