YOLOv8 Tensorrt部署详细介绍(小白从0到1,不会你砍我)

本文介绍了如何在Tensorrt环境下下载YOLOv8项目,将.pt模型转换为.wts,配置CMake并生成引擎文件,最后进行本地视频推理的过程。作者提醒读者在CMake配置过程中可能遇到的问题及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笔者使用环境:

        Tennsorrt8.6.1.6

        CUDA11.7

下载YOLOv8项目和Tensorrt部署项目

git clone https://github.com/xiaocao-tian/yolov8_tensorrt.git
git clone https://github.com/ultralytics/ultralytics.git

下载yolov8s模型

在YOLOv8项目中新建weights文件夹,将yolov8s.pt放入

运行tensorrt项目中gen_wts.py文件,将pt文件转成wts文件,如上图

在tensorrt项目中新建weights文件夹,将wts文件复制过来,如下图

在tensorrt项目中新建build文件夹,然后使用cmake编译,注意tensorrt项目中Cmakelist.txt需要按照自己的实际情况(其中笔者在这步踩了很多坑,差点劝退,希望大家不要轻言放弃)

set设置为本地电脑上的OpenCV和Tensorrt绝对路径,例如:

修改其中两个路径即可,接着打开cmake

依次点击Configure,Generate,Open Project

找到main.cpp

找到源码

其中将  wts_name = “” 注释掉就是生成engine文件,取消注释便是推理

先取消注释得到engine文件,如上图所示(此过程大概需要十分钟)

打开注释,修改自己待检测的视频路径,本地调试,运行成功

<think>好的,我现在需要帮助用户了解如何将YOLOv8模型部署到GPU平台上。首先,我应该回顾一下用户提供的引用内容,看看有没有相关的信息可以直接使用。用户提供了四个引用,其中引用[1]、[2]、[3]、[4]都是关于YOLO系列模型在GPU上的环境部署、训练和推理加速的内容。特别是引用[1]和[3]提到了CUDA环境的配置,引用[2]提到了TensorRT的应用,引用[4]则介绍了ONNX Runtime的C++部署方式。 接下来,我需要整理出一个步骤清晰的教程,涵盖环境配置、模型导出、推理加速以及可能的部署方式。用户可能对步骤的详细程度有较高需求,尤其是作为小白用户,所以需要分步骤解释,并确保命令和路径正确。 首先,环境部署部分需要包括CUDA、cuDNN、PyTorch的安装。引用[1]和[3]提到了CUDA v11.6和v12.4的路径,说明用户可能已经安装了不同版本的CUDA,需要注意版本兼容性。PyTorch需要与CUDA版本对应,比如PyTorch 2.0+对应CUDA 11.812.x。 然后,模型导出部分需要将YOLOv8模型转换为ONNX格式,可能需要安装ultralytics库,并运行export命令。这部分需要确保用户正确安装相关库,并理解导出参数的作用。 接下来是推理加速,引用[2]提到了TensorRT,这是一个常用的加速工具。需要指导用户安装TensorRT,并使用trtexec工具转换ONNX模型到TensorRT引擎。同时,引用[4]提到ONNX Runtime,这也是一种部署方式,特别是对于C++部署,可能需要生成ONNX模型后用ONNX Runtime加载。 此外,还需要考虑部署方式的选择,比如Python直接推理、TensorRT加速或ONNX Runtime。不同方式适用于不同场景,比如开发测试阶段可能用Python,生产环境可能需要C++和TensorRT。 用户可能遇到的问题包括CUDA版本与PyTorch不兼容、模型导出时的错误、TensorRT安装的复杂性等。需要提醒用户注意版本匹配,并参考官方文档。 最后,生成相关问题,帮助用户进一步学习,比如性能优化、多GPU部署、模型量化等。这些问题应该覆盖用户可能感兴趣的后续步骤。</think>### YOLOv8模型GPU部署教程 #### 一、环境准备 1. **CUDA与cuDNN安装** - 安装与GPU型号匹配的CUDA工具包(推荐CUDA 11.6-12.4)[^1][^3] ```bash # 验证CUDA安装 nvcc --version ``` - 下载对应版本的cuDNN,将`bin`、`include`、`lib`文件复制到CUDA安装目录(如`C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6`) 2. **PyTorch GPU版本安装** ```bash # 选择与CUDA版本匹配的PyTorch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # CUDA 11.8示例 ``` 3. **YOLOv8依赖库安装** ```bash pip install ultralytics onnx onnxruntime-gpu tensorrt ``` #### 二、模型导出与转换 1. **导出PyTorch模型** ```python from ultralytics import YOLO model = YOLO("yolov8n.pt") # 加载预训练模型 ``` 2. **转换为ONNX格式** ```python model.export(format="onnx", imgsz=640, simplify=True) ``` 生成文件:`yolov8n.onnx` 3. **转换为TensorRT引擎(可选加速)[^2]** ```bash trtexec --onnx=yolov8n.onnx --saveEngine=yolov8n.engine --fp16 ``` #### 三、推理部署方式 1. **Python直接推理** ```python results = model.predict("input.jpg", imgsz=640) results[0].show() ``` 2. **TensorRT加速推理** ```python from ultralytics import YOLO model = YOLO("yolov8n.engine") # 加载TensorRT引擎 model.predict("input.jpg") ``` 3. **ONNX Runtime部署(C++示例)[^4]** ```cpp #include <onnxruntime_cxx_api.h> Ort::Session session(env, L"yolov8n.onnx", Ort::SessionOptions{}); // 具体实现需包含预处理和后处理逻辑 ``` #### 四、验证部署效果 1. 检查GPU利用率: ```bash nvidia-smi # 应显示python进程占用显存 ``` 2. 对比推理速度: - CPU推理:约200ms/帧 - GPU推理:约10ms/帧(RTX 3090) #### 五、常见问题排查 1. **CUDA版本不匹配** - 错误提示:`Detected CUDA version mismatch` - 解决方案:通过`conda install cuda -c nvidia`指定版本 2. **TensorRT安装失败** - 参考[NVIDIA开发者文档](https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html)手动安装 3. **ONNX模型加载失败** - 检查导出参数是否包含动态维度: ```python model.export(..., dynamic=True) # 允许动态输入尺寸 ```
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值