这里是Windows 上基于 TensorRT 的 YOLO部署, 我并不用win啊 就是留下万一呢
部署环境和相关依赖包
- Cuda 11.0.2
- Cudnn 8.0.4.30
- TensorRT 8.4.0.6
- OpenCV 4.1.1
- VS2019
项目所需的安装包均放到到如下百度云链接:
链接:https://pan.baidu.com/s/1C4jYSKAN2P_GSpFiikhY_g
提取码:71ou
部署流程
第一步把VS2019装好,安装略,百度云提供了安装包,可自行安装
第二步Cuda安装流程如下:
然后就是选默认的,同意外加一堆下一步,不截图了
第三步:解压如上cudnn压缩包,把如下目录的文件拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin目录下
把如下目录的文件拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include目录下
把如下目录的文件拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib\x64目录下
第四步解压OpenCV和TensorRT备用
不上图了
安装cmake
下面还是一堆下一步
第五步onnx转tensorrt引擎,流程如下:
从GitHub下载部署代码https://github.com/zhiqwang/yolov5-rt-stack 进入如下目录
编辑CMakeLists,设置OpenCV和TensorRT目录
指定CMakeLists.txt目录以及要build的目录
点击cmake的tools->Configure
进入build目录,打开build工程
点击生成->生成解决方案,编译完成后进入生成的exe目录
把tensorrt的dll文件放到exe目录下
进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin目录把以下8个dll拷贝到exe目录
- cublas64_11.dll
- cublasLt64_11.dll
- cudart64_110.dll
- cudnn_cnn_infer64_8.dll
- cudnn_ops_infer64_8.dll
- cudnn64_8.dll
- nvrtc64_110_0.dll
- nvrtc-builtins64_110.dll
- 把官方的提供的onnx模型放到exe目录
在exe目录打开命令行,输入build_model.exe yolov6n.onnx yolov6n.engine生成tensorrt引擎
第六步tensorrt引擎推理流程如下:
进入D:\yolov6\yolov5-rt-stack\deployment\tensorrt-yolov6目录编辑CMakeLists,设置OpenCV和TensorRT目录
打开桌面上的cmake,设置tensorrt推理代码的CMakeLists.txt路径以及要build的目录
点击cmake的tools->Configure
点击Generate
打开build工程,选择release,点击生成->生成解决方案,生成tensorrt推理的exe
进入生成tensorrt引擎的exe目录(上一次build的目录)
拷贝dll以及tensorrt推理引擎到tensorrt推理的exe目录(当前build的目录)
把OpenCV的opencv_world411.dll拷贝到推理exe目录
在推理exe目录打开命令行,输入推理命令yolov6.exe -model_path yolov6n.engine -image_path zidane.jpg指定推理引擎路径以及推理图片路径,在推理exe目录生成推理可视化结果
结果
完事 感觉也挺烦比linux倒腾还多是的呢