Windows下使用tensorrt配置YOLOv8进行加速
致谢:
win10下 yolov8 tensorrt模型加速部署【实战】 - 知乎 (zhihu.com)
yolov8 tensorrt 实战之先导_哔哩哔哩_bilibili
FeiYull/TensorRT-Alpha: 🔥🔥🔥TensorRT for YOLOv8、YOLOv8-Pose、YOLOv8-Seg、YOLOv8-Cls、YOLOv7、YOLOv6、YOLOv5、YOLONAS…🚀🚀🚀CUDA IS ALL YOU NEED.🍎🍎🍎 (github.com)
本次部署的流程是pytorch转换为onnx再转换为trt
配套资源文件下载地址:待更新
前期准备
安装vs2019
直接默认在C盘安装,防止后续出错
vs2019的下载地址位于:[Downloads & Keys - Visual Studio Subscriptions](https://my.visualstudio.com/Downloads?q=Visual Studio 2019)
需要登录之后才可以进行下载,不要使用太新的,太新的会导致未知的问题出现。
安装cuda和cudnn以及tensorrt
cuda安装直接也选择在默认目录即可,安装的时候请选择默认目录,防止不必要的麻烦,并且需要先安装vs再安装cuda,这样可以直接把插件加入到vs中,后面使用非常方便。
安装之后首先可以在C盘该目录下找到安装好的cuda组件
并且在命令行中输入nvcc -V之后会显示cuda对应的版本信息。
tensorrt移动到F盘中,并将lib目录添加到系统环境变量中。
Opencv安装并添加环境变量
之后安装opencv并将其添加到系统环境变量中,注意此处需要添加两个环境变量。
进行tensorrt的测试
直接打开官方提供的mnist数据集的测试、
重新生成解决方案
测试成功!!!!
创建属性表
属性表创建之后后续我们直接进行属性表的添加即可,对于新项目而言非常之方便。
tensorrt属性表
首先随便创建一个c++的空项目
创建新的属性表
点击属性表,在添加对应的依赖。
包含目录中添加tensorrt对应的依赖文件,注意这个位置有三个库文件
库目录中添加对应的lib目录
然后在链接器的输入中添加对应的lib文件,所有的lib文件都添加进来
在预处理器中添加对应指令_CRT_SECURE_NO_WARNINGS:
opencv属性表
包含目录,.h文件
库目录,lib文件
链接器文件中添加对应的链接器文件,带d的表示debug模式
cuda属性表在这个位置,直接添加现成的即可
项目测试
直接在当前的解决方案中新建空项目,分别是原始代码中的yolov8中和utils文件中以及tensorrt的官方示例中拷贝对应的文件加载到项目中来,按照x64的形式进行生成,因为我是先安装的cuda所以导致,可能有加载不到的问题,所以最好是先安装vs再安装cuda,非常方便之。
编译生成exe之后,直接执行下列指令可以对模型进行预测。
app_yolov8.exe --model=../../data/yolov8/yolov8n.trt --size=640 --batch_size=1 --img=../../data/6406407.jpg --show --savePath
Project2.exe --model=yolov8n.trt --size=640 --batch_size=1 --img=000110.jpg --show --savePath
Project2.exe --model=yolov8n.trt --size=640 --batch_size=8 --video=demo.mp4 --show --savePath=../
预测效果如下所示: