triple-mu/YOLOv8-TensorRT
YOLOv8 using TensorRT accelerate !
解决的问题
该项目为 YOLOv8 模型提供高性能推理实现,使用 NVIDIA 的 TensorRT 进行加速。用户可以将训练好的 Ultralytics YOLOv8 模型高效地在 Python 或 C++ 环境中运行,支持五种不同的计算机视觉任务。
工作原理
工作流程遵循三步过程:将 PyTorch 模型(.pt)导出为 ONNX 格式,从该 ONNX 文件构建 TensorRT 引擎,然后执行推理。项目包含针对检测和分割的专用导出脚本,以创建内置非极大值抑制(NMS)的「End2End」引擎,而其他任务则使用原始导出。
它具有一个共享的 C++ 核心(libyolov8_core),负责管理 CUDA 资源并处理预处理和后处理。系统设计为与版本无关,可自动检测已安装的 TensorRT 和 OpenCV 版本,以确保在不同硬件和软件环境中的兼容性。
适用人群
适用于需要在 NVIDIA GPU 上以最大吞吐量和最小延迟部署 YOLOv8 模型的开发者和 AI 工程师,特别是那些在 C++ 生产环境或高性能 Python 应用中工作的人员。
主要亮点
- 多任务支持:支持检测、分割、姿态估计、定向边界框(OBB)和分类。
- C++ 和 Python 支持:提供轻量级 C++ 二进制文件和灵活的 Python 入口点用于推理。
- 版本无关构建:兼容 TensorRT 8 至 11 以及多种 OpenCV 版本。
- 性能工具:包含基准测试脚本和逐层性能分析,用于分析延迟和吞吐量。
- 部署灵活性:包含 DeepStream bbox 解析插件,并支持 NVIDIA Jetson 设备。
相关
- 项目
- 项目
- 项目
- 项目
- 项目