yolov5 + tensorRT + C++ windows GPU部署
1. 环境介绍
yolov5在win10上的部署,yolov5原始版本为pytorch,libtorch在windows下的部署折腾了半天放弃,转而拥抱tensorRT。在此记录一下整个部署过程。
pytorch的inference环境:
- win10
- cuda10.2
- pytorch1.8
- python3.8
- cudnn7.6.5
- yolov5 v3.1
tensorRT推理环境: - tensorRT 7.0:
-
TensorRT-7.0.0.11.Windows10.x86_64.cuda-10.2.cudnn7.6(与上面的cuda和cudnn软件版本一致)
- VS2017
- OpenCV 3.4.0
2. 软件安装
安装好pytorch的gpu的环境,这部分属于python环境部署,这里不做详细介绍。
cuda和cudnn的安装网上资料很多,我就不截图了。
2.1 yolov5安装:
链接地址:yolov5 v3.1
- 下载yolo源码
git clone https://github.com/ultralytics/yolov5.git
- 安装依赖包
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
- 下载训练权重文件,并并放置在weights文件夹下
yolov5s.pt:权重下载
2.2 TensorRT安装:
- 英伟达官网下载与cuda和cudnn一致的TensorRT
我这里的版本如下
- 新建文件夹TensorRT-7.0.0.11_cuda102_cudnn7_6(个人自定义的,下文均称为TensorRT目录)
- 将压缩包解压,解压后文件放入文件夹TensorRT-7.0.0.11_cuda102_cudnn7_6如下:
将**TensorRT目录**\include下中所有头文件(*.h),复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
将**TensorRT目录**\lib下所有 .lib文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
将**TensorRT目录**\lib下中所有dll文件复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
- 完成TensorRT的安装
2.3 验证TensorRT安装:
1 . 用VS2017
打开TensorRT目录\samples\sampleMNIST
这里如果出现找不到 Windows SDK 版本10.0.17134.0,vs目标平台版本不一致问题,按照提示下载了一个对应版本安装,问题就解决了。参考链接
- 用python 进入
TensorRT目录\data\mnist
目录,运行
python download_pgms.py
下载完后会出现.pgm文件。
- 配置VS中的运行环境。
- 在项目属性中配置可执行文件目录:将
*TensorRT目录/lib
目录添加进入可执行文件目录
- 点击C/C++ -> 常规 -> 附加包含目录添加路径:
TensorRT目录