目录
一. 环境及模块配置
二. 代码运行
一.
1.1.1 check
a. 查看安装cuda的版本:
nvcc --version
b. 如果没安装,则首先查看电脑配置,然后继续下载对应cuda版本;
如图所示,桌面空白处单击鼠标右键,选择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
注意:
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;
注意,如图所示:改成自己文件的名称;
2.2.1 Cmakelist.txt (非常重要)
2.2.2 运行cmake.gui
1. 选择文件路径;
2. 选择环境;
3.configuration 、generate;
2.2.3 vs生成解决方案
注意:windows运行需要在yololayer.h 文件里 nvinfer1 类里添加
__declspec(dllexport)
生成解决方案:
yolov5.exe成功生成
注意:成功1个,这里因为作者之前myplugins已经成功生成。
2.2.3 生成engine(需等待一段时间)
完成以上操作以后,就可以开始生成engine
两种方式:
1. cmd执行;
yolov5.exe -s
2. 直接vs运行
(1)将yolov5设置为启动项,然后VS2017给命令行添加参数:
右键要添加命令行参数的工程->属性->配置属性->调试,右边有命令行参数输入框,输入-s后,
保存运行即可(如下图);
2.2.4 调用engine测试
同上,两种方式
1. cmd运行
yolov5.exe -d ../samples
2. 修改命令参数
注意: samples文件夹存放测试图片。
3. 运行结果
(因为作者的增加了图像显示部分,所以推理时间慢一些,如果不添加图像显示,推理时间要更快一些!)
emmm,电脑自带的画图软件的马赛克一言难尽,由于赶时间,就没用PS美化了,下次还是选择别的马赛克吧!
参考:
1. tensorrtx/run_on_windows.md at yolov5-v3.0 · wang-xinyu/tensorrtx · GitHub
2. https://github.com/ultralytics/yolov5
非常感谢以上大佬的工作!
如需转载,请注明出处,谢谢!
欢迎交流!