win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署

目录

一. 环境及模块配置

二. 代码运行

  1.  yolo5模型训练→权重文件,模型转换 .pt →.wts
  2. TensorRT推理

一.

1.1.1 check

a. 查看安装cuda的版本:

nvcc --version

b.  如果没安装,则首先查看电脑配置,然后继续下载对应cuda版本;

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第1张图片

 如图所示,桌面空白处单击鼠标右键,选择NVIDIA控制面板,选择打开后,点击左下角系统信息,然后选择组件,查看cuda信息,本机支持的是CUDA 10.2 版本,不支持更高版本的。

c. 下载对应cuda以及cuDNN

https://developer.nvidia.cn/cuda-downloadshttps://developer.nvidia.cn/cuda-downloadshttps://developer.nvidia.cn/cuda-downloads

https://developer.nvidia.cn/rdp/cudnn-downloadhttps://developer.nvidia.cn/rdp/cudnn-downloadhttps://developer.nvidia.cn/rdp/cudnn-download

d. 下载TensorRT-7.xxxx

NVIDIA TensorRT | NVIDIA Developer

注意:需要注册登录才可下载

e. 下载opencv

Releases - OpenCV

f.  下载安装cmake

https://cmake.org/download/

e. 下载dirent.h  , 存放于tensorrtx/include

  https://github.com/tronkko/dirent

  


注意:

  • 以上文件保存位置很重要,要记住哦!!!待会儿要用;
  • 除了e项直接存放,其余项都需要安装,安装过程自行百度,比较简单。

1.1.2  下载yolov5以及TensorRT模型

源码地址:

1. yolo5:

 https://github.com/ultralytics/yolov5

2 . tensorrt

https://github.com/wang-xinyu/tensorrtx/tree/yolov5-v3.0

wang-xinyu的工作实在是太赞了,让我们站在巨人的肩膀上前进吧!

这里作者用的是yolov5-v3.0的,可根据需要自行选择下载;


以下环境缺一不可:

  •  vs (  vs2017 我用的这个版本的,别的没有测试过!)

  • cuda

  • TensorRT

  • Cmake

  • opencv

  • dirent.h(Windows环境下缺此项编译时会报错)

环境配置完毕。


二.

2.1 训练好的权重文件,即best.pt 转化为.wts文件,python 运行gen_wts.py文件,生成yolov5s.wts;

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第2张图片

注意,如图所示:改成自己文件的名称;

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第3张图片

2.2.1  Cmakelist.txt (非常重要)

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第4张图片


2.2.2 运行cmake.gui

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第5张图片

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第6张图片

1. 选择文件路径;

2. 选择环境;

3.configuration 、generate;


2.2.3 vs生成解决方案

注意:windows运行需要在yololayer.h 文件里 nvinfer1 类里添加

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第7张图片

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第8张图片

__declspec(dllexport)

生成解决方案:

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第9张图片

yolov5.exe成功生成

注意:成功1个,这里因为作者之前myplugins已经成功生成。

2.2.3 生成engine(需等待一段时间)

完成以上操作以后,就可以开始生成engine

两种方式:

1. cmd执行;

yolov5.exe -s

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第10张图片

2. 直接vs运行

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第11张图片

(1)将yolov5设置为启动项,然后VS2017给命令行添加参数:

右键要添加命令行参数的工程->属性->配置属性->调试,右边有命令行参数输入框,输入-s后,

保存运行即可(如下图);

2.2.4 调用engine测试

同上,两种方式

1. cmd运行   

yolov5.exe -d  ../samples

2. 修改命令参数

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第12张图片

 注意: samples文件夹存放测试图片。

3. 运行结果

win10环境下 超详细两步之 yolov5-v3.0 tensorRT模型部署_第13张图片

(因为作者的增加了图像显示部分,所以推理时间慢一些,如果不添加图像显示,推理时间要更快一些!) 

emmm,电脑自带的画图软件的马赛克一言难尽,由于赶时间,就没用PS美化了,下次还是选择别的马赛克吧!


参考:

1. tensorrtx/run_on_windows.md at yolov5-v3.0 · wang-xinyu/tensorrtx · GitHub

2.   https://github.com/ultralytics/yolov5

非常感谢以上大佬的工作!

如需转载,请注明出处,谢谢!

欢迎交流!

你可能感兴趣的:(tensorrt,部署,C++,yolov5,深度学习,pytorch,神经网络)