YOLOv8 Tensorrt Python/C++部署详解

 按照大佬的方法进行部署,但是中间出现了很多问题,这里进行一下总结。

YOLOv8 Tensorrt Python/C++部署教程_yolo 安装tensorrt-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_45747759/article/details/130341118

Monday-Leo/Yolov5_Tensorrt_Win10: A simple implementation of tensorrt yolov5 python/c++🔥 (github.com)icon-default.png?t=N7T8https://github.com/Monday-Leo/Yolov5_Tensorrt_Win10

下载仓库

Monday-Leo/YOLOv8_Tensorrt:Tensorrt YOLOv8 的简单实现 (github.com)icon-default.png?t=N7T8https://github.com/Monday-Leo/YOLOv8_Tensorrtultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite (github.com)icon-default.png?t=N7T8https://github.com/ultralytics/ultralytics

安装Anaconda

2024年最新版Anaconda3的安装配置及使用教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)_anconda3-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/liuhyusb/article/details/135753864

Download Now | Anacondaicon-default.png?t=N7T8https://www.anaconda.com/download/success

/anaconda/archive/ 的索引 |清华大学开源软件镜像站 |清华开源镜像 (tsinghua.edu.cn)icon-default.png?t=N7T8https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

Pycharm创建conda环境

pycharm使用conda创建的虚拟环境时找不到python.exe_conda环境找不到python.exe-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_62392668/article/details/134115527

CUDA安装

CUDA超详细安装教程(windows版)_windows安装cuda-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/virobotics/article/details/136322017CUDA Toolkit Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/cuda-toolkit-archivecuDNN Archive | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/rdp/cudnn-archive我是安装的11.8的版本。

我的不是默认安装,然后我就要放在这个目录下面。 

创建环境

yolov8实战第一天——yolov8部署并训练自己的数据集(保姆式教程)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_34717531/article/details/135019573?ops_request_misc=&request_id=&biz_id=102&utm_term=yolo%E7%AC%AC%E4%B8%80%E5%A4%A9&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-135019573.142%5Ev100%5Epc_search_result_base3&spm=1018.2226.3001.4187

创建Python的环境

(yolo是名字,可以任起,3.11是版本,不写默认是最新的版本)

conda create -n yolo python==3.11 

激活环境

activate yolo

安装pytorch

PyTorchicon-default.png?t=N7T8https://pytorch.org/

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

 

 下载TensorRT

tensorrt的目录也需要记住。

yolov8实战第三天——yolov8TensorRT部署(python推理)(保姆教学)_yolov8 tensorrt python-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_34717531/article/details/135022392?ops_request_misc=&request_id=&biz_id=102&utm_term=yolov8%E7%AC%AC%E4%B8%89%E5%A4%A9&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-135022392.142%5Ev100%5Epc_search_result_base3&spm=1018.2226.3001.4187NVIDIA TensorRT 8.x Download | NVIDIA Developericon-default.png?t=N7T8https://developer.nvidia.com/nvidia-tensorrt-8x-download

 下载地址icon-default.png?t=N7T8https://developer.nvidia.com/nvidia-tensorrt-download

下载Opencv

下载地址icon-default.png?t=N7T8https://bj.bcebos.com/paddleseg/deploy/opencv-3.4.6-vc14_vc15.exe

安装visual studio 2019

链接:https://pan.baidu.com/s/1_SgGM0mb01WIRYy9JRc89A 
提取码:5sfo

安装cmake

我用的是3.17的版本,这里vs和cmake要注意版本,cmake太老的也不支持新版的vs。

Index of /files (cmake.org)icon-default.png?t=N7T8https://cmake.org/files/

模型转换

打开ultralytics-main文件到pycharm中

 安装yolov8仓库,并下载官方模型

pip install ultralytics==8.0.5
pip install onnx==1.12.0

https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pticon-default.png?t=N7T8https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt

使用官方命令导出ONNX模型

yolo mode=export model=yolov8n.pt format=onnx dynamic=False

将YOLOv8_Tensorrt-master中的v8_transform.py文件移动到ultralytics-main中

转换onnx模型

python v8_transform.py yolov8n.onnx

将yolov8n.transd.onnx文件放到TensorRT的bin目录下

trtexec --onnx=yolov8n.transd.onnx --saveEngine=yolov8n_fp16.trt --fp16

时间稍微有点长,最后会生成trt文件。 

C++部署

进入YOLOv8_Tensorrt-master文件夹打开CMakeLists.txt文件

 设置opencv和tensorrtRT的路径

算力参考如下:

CUDA GPU | NVIDIA 开发者icon-default.png?t=N7T8https://developer.nvidia.cn/cuda-gpus

 cmake打包

在YOLOv8_Tensorrt-master下新建build目录

cmake路径设置如下

点击Configure

Specify the generator for this project

选择自己的vs版本,我的是2019,这个如果cmake太老可能就不会显示新版的vs。

optional platform for generator

选择x64

如果没有报错点击Generate后点击Open Project

这个我本来都是用最新版的,结果不知道是太新了想要改配置文件还是什么原因,所以我就还是用的大佬3.17版本的cmake。

vs编译

选择release

 执行

将预测图片zidane.jpg和模型yolov8n_fp16.trt放build的Release下面(预测图片在YOLOv8_Tensorrt-master下面,模型在TensorRT-8.6.1.6\bin下面)

yolov8.exe

 会生成Result.jpg图片

Python部署

 生成.dll文件

这个第一次选这个,后面自己变成.dll了

然后再编译一下,会生成.dll文件

将YOLOv8_Tensorrt-master下的python_trt.py复制YOLOv8_Tensorrt-master\build\Release

执行

如果报错如下则选用低版本的Python

FileNotFoundError: Could not find module 'E:\code\yolo8\YOLOv8_Tensorrt-master\build\Release\yolov8.dll' (or one of its dependencies). Try using the full path with constructor syntax.

python调用dll出现错误总结如下(持续更新)_python_zsffuture-华为云开发者联盟 (csdn.net)icon-default.png?t=N7T8https://huaweicloud.csdn.net/63806d9bdacf622b8df881f7.html

我这里用的是3.5版本的python.

总结

只能说尝试了很久,不是和这个不兼容就是和那个不兼容,很多东西对于大佬来说太简单了,所以就省略了,这里把文件的位置进行了简单的说明。

大概就是要下载安装很多的文件,然后去尝试,经过了这么久好歹是出来,希望以后再接再厉。

还有就是我安装在D盘,但是CUDA给我在C盘加了一些东西,然后我就找想卸载一部分,参考的是下面这篇博客。

CUDA11.7安装-C盘杀手(含卸载和安装教程)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/Ama_tor/article/details/126868611

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

封奚泽优

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值