百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
T

TensorRT-YOLO

> 编程语言
开源

适用于 NVIDIA 的更简单、更快速的 YOLO 部署工具包

1.9K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

适用于 NVIDIA 的更简单、更快速的 YOLO 部署工具包

English | 简体中文


TensorRT-YOLO 是一款专为 NVIDIA 设备设计的易用灵活、极致高效的YOLO系列推理部署工具。项目不仅集成了 TensorRT 插件以增强后处理效果,还使用了 CUDA 核函数以及 CUDA 图来加速推理。TensorRT-YOLO 提供了 C++ 和 Python 推理的支持,旨在提供开箱即用的部署体验。包括 目标检测、实例分割、图像分类、姿态识别、旋转目标检测、视频分析等任务场景,满足开发者多场景的部署需求。

[!IMPORTANT]

本仓库是社区版(6.4),许可证 GPL-3.0。社区版推理接口冻结,不再合入新的运行时架构。

专业版(闭源)将单独提供,源码不在本仓库。购买入口尚未开放,开放后会写在本 README。吞吐与能力对比见 社区版与专业版。

  • 社区版(6.4)推理接口冻结;专业版将单独提供(购买入口尚未开放)。 NEW

  • 实战课程|TensorRT × Triton Inference Server 模型部署

  • 平台: BiliBili 课堂 | 微信公众号 HOT

  • 团队: laugh12321 | 不归牛顿管的熊猫

  • 硬核专题:
    ▸ 自定义插件开发(含Plugin注册全流程)
    ▸ CUDA Graph 原理与工程实践
    ▸ Triton Inference Server 部署技巧

  • 2026-03-20: 添加对 YOLO26 的支持,包括分类、定向边界框、姿态估计以及实例分割。 NEW

  • 2026-01-07: 添加对 YOLO-Master 的支持,包括分类、定向边界框、姿态估计以及实例分割。 NEW

  • 2025-10-05:精度完美对齐,CUDA 完美复刻 LetterBox,绝大多数情况下像素误差为 0。Python 模块重大重构,易用性大幅提升。 NEW

  • 2025-06-09: C++仅引单头文件 trtyolo.hpp,零第三方依赖(使用模块时无需链接 CUDA 和 TensorRT),增加对带图像间距(Pitch)数据结构的支持,详见 B站。 NEW

  • 2025-04-19: 添加对 YOLO-World, YOLOE 的支持,包括分类、定向边界框、姿态估计以及实例分割,详见 B站。 NEW

  • 2025-03-29: 添加对 YOLO12 的支持,包括分类、定向边界框、姿态估计以及实例分割,详见 issues。 NEW

  • 性能飞跃!TensorRT-YOLO 6.0 全面升级解析与实战指南 NEW

多样化的 YOLO 支持

  • 全面兼容:支持 YOLOv3 至 YOLO26,以及 YOLO-World、YOLO-Master 等多种变体,满足多样化需求,详见 ️ 模型支持列表。
  • 灵活切换:提供简洁易用的接口,支持不同版本 YOLO 模型的快速切换。 NEW
  • 多场景应用:提供丰富的示例代码,涵盖Detect、Segment、Classify、Pose、OBB等多种应用场景。

性能优化

  • CUDA 加速:通过 CUDA 核函数优化前处理流程,并采用 CUDA 图技术加速推理过程。
  • TensorRT 集成:深度集成 TensorRT 插件,显著加速后处理,提升整体推理效率。
  • 多 Context 推理:支持多 Context 并行推理,最大化硬件资源利用率。 NEW
  • 显存管理优化:适配多架构显存优化策略(如 Jetson 的 Zero Copy 模式),提升显存效率。 NEW

️ 易用性

  • 开箱即用:提供全面的 C++ 和 Python 推理支持,满足不同开发者需求。
  • CLI 工具:命令行界面简洁直观,并支持自动识别模型结构,无需复杂配置。
  • Docker 支持:提供 Docker 一键部署方案,简化环境配置与部署流程。
  • 无第三方依赖:全部功能使用标准库实现,无需额外依赖,简化部署流程。
  • 部署便捷:提供动态库编译支持,方便调用和部署。

兼容性

  • 多平台支持:全面兼容 Windows、Linux、ARM、x86 等多种操作系统与硬件平台。
  • TensorRT 兼容:完美适配 TensorRT 10.x 版本,确保与最新技术生态无缝衔接。

灵活配置

  • 预处理参数自定义:支持多种预处理参数灵活配置,包括 通道交换 (SwapRB)、归一化参数、边界值填充。 NEW

1. 前置依赖

  • CUDA:推荐版本 ≥ 11.0.1
  • TensorRT:推荐版本 ≥ 8.6.1
  • 操作系统:Linux (x86_64 或 arm)(推荐);Windows 亦可支持

[!NOTE]
如果您在 Windows 下进行开发,可以参考以下配置指南:

  • Windows 开发环境配置——NVIDIA 篇
  • Windows 开发环境配置——C++ 篇

2. 编译安装

首先,克隆 TensorRT-YOLO 仓库:

git clone https://github.com/laugh12321/TensorRT-YOLO
cd TensorRT-YOLO

然后使用 CMake,可以按照以下步骤操作:

pip install "pybind11[global]" # 安装 pybind11,用于生成 Python 绑定
cmake -S . -B build -D TRT_PATH=/your/tensorrt/dir -D BUILD_PYTHON=ON -D CMAKE_INSTALL_PREFIX=/your/tensorrt-yolo/install/dir
cmake --build build -j$(nproc) --config Release --target install

执行上述指令后,tensorrt-yolo 库将被安装到指定的 CMAKE_INSTALL_PREFIX 路径中。其中,include 文件夹中包含头文件,lib 文件夹中包含 trtyolo 动态库和 custom_plugins 动态库(仅在使用 trtexec 构建 OBB、Segment 或 Pose 模型时需要)。如果在编译时启用了 BUILD_PYTHON 选项,则还会在 trtyolo/libs 路径下生成相应的 Python 绑定文件。

[!NOTE]
在使用 C++ 动态库之前,请确保将指定的 CMAKE_INSTALL_PREFIX 路径添加到环境变量中,以便 CMake 的 find_package 能够找到 tensorrt-yolo-config.cmake 文件。可以通过以下命令完成此操作:

export PATH=$PATH:/your/tensorrt-yolo/install/dir # linux
$env:PATH = "$env:PATH;C:\your\tensorrt-yolo\install\dir;C:\your\tensorrt-yolo\install\dir\bin" # windows

如果您希望在 Python 上体验与 C++ 相同的推理速度,则编译时需开启 BUILD_PYTHON 选项,然后再按照以下步骤操作:

pip install --upgrade build
python -m build --wheel
pip install dist/trtyolo-6.*-py3-none-any.whl

3. 模型转换

  • 使用项目配套的 trtyolo-export 工具包,将已经导出的 YOLO 系列 ONNX 模型转换为兼容 TensorRT-YOLO 推理的输出结构并构建为 TensorRT 引擎。

4. 推理示例

  • 使用 Python 进行推理:
…
  • 使用 C++ 进行推理:
…

5.推理流程图

以下是predict方法的流程图,展示了从输入图片到输出结果的完整流程:

只需将待推理的图片传递给 predict 方法,predict 内部会自动完成预处理、模型推理和后处理,并输出推理结果,这些结果可进一步应用于下游任务(如可视化、目标跟踪等)。

更多部署案例请参考模型部署示例 .

专业版相对社区版不是小版本 bump,而是整条推理面重写。同一台 RTX 3080、YOLO11n FP16、batch=1、dummy 640×640 的 C++ 测速下,专业版墙钟吞吐更高:Detect +26.2%,Segment +20.1%。完整对比见 专业版页面。

条件:warmup 100 次、iterations 1000,每组 3 次取墙钟吞吐中位数。社区版同步 predict();专业版 submit/dequeue,含同步与双帧流水线。只测了 Detect / Segment。本轮 CUDA Graph 全开。

吞吐对比

任务 社区版(同步) 专业版(同步) 专业版(双帧流水线) 提升* Detect 877.7 qps(1.139 ms) 1022.9 qps(0.978 ms) 1107.5 qps(0.903 ms) +26.2% Segment 273.1 qps(3.661 ms) 321.5 qps(3.111 ms) 328.1 qps(3.048 ms) +20.1%

*提升 = 社区版(同步)→ 专业版(双帧流水线)。双帧流水线:先提交 2 帧,再交错取结果,让 GPU 前后帧重叠;社区版无此 API。

多模型 Ensemble(专业版独有)

组合 社区版 专业版(同步) 专业版(双帧流水线) Detect ×2 N/A 542.1 qps 558.2 qps Detect + Segment N/A 272.9 qps 278.8 qps Segment ×2 N/A 172.4 qps 176.1 qps

一次 Executor::open 装多个 member、共享前处理,社区版无 ensemble API。

能力对比

社区版 专业版 流水线深度 仅同步 predict(),无 submit/dequeue 可配置 in-flight 深度;推荐双帧流水线,Detect +8.3% 吞吐 多模型 Ensemble 无 API 一次 Executor::open 装多个 member、共享前处理,省一份输入显存 前处理 对齐 OpenCV;绝大多数像素误差为 0,少数 ±1 与 OpenCV 逐像素全零对齐;LUT 特化核,比开源版更快 CUDA Graph 首次推理会把 capture 算进性能报告,且无法只看稳态 库内自动回放;稳态跳过 SetParams;GPU timing 在图外 后处理插件 检测走内置 NMS;Pose / Seg / OBB 各有插件 一套插件覆盖 Detect / Pose / Seg / OBB 多会话 再开会话要复制实例 已加载的模型上直接开多会话,不重复加载 公开接口 InferOption + 按任务拆的 Model;一次 predict 加载一次模型,多次开推理会话;按帧读取结果 构建 engine Pose / Seg / OBB 还需把插件编进 engine 构建步骤更简单;社区版 engine 不能直接用,需要重新导出 Python 任务 必须手填 task=,且与导出一致 默认同 engine 推断,可覆盖 TensorRT ≥ 8.6.1 ≥ 10(硬下限) 源码与许可 公开仓库,GPL-3.0 闭源,单独授权

购买入口尚未开放,开放后会写在本 README。

开源不易,如果本项目对你有所帮助,欢迎通过赞助支持作者。你的支持是开发者持续维护的最大动力!


衷心感谢以下支持者与赞助商的无私支持:

[!NOTE]

以下是 GitHub Actions 自动生成的赞助者列表,每日更新 ✨。

TensorRT-YOLO采用 GPL-3.0许可证,这个OSI 批准的开源许可证非常适合学生和爱好者,可以推动开放的协作和知识分享。请查看LICENSE 文件以了解更多细节。

感谢您选择使用 TensorRT-YOLO,我们鼓励开放的协作和知识分享,同时也希望您遵守开源许可的相关规定。

对于 TensorRT-YOLO 的错误报告和功能请求,请访问 GitHub Issues!

专业版尚未开放购买,请勿在 Issues 里询价;入口开放后会更新本 README。

给项目点亮 ⭐ Star 可以帮助我们优先关注你的需求,加快响应速度~

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •社区版(6.4)推理接口冻结;专业版将单独提供(购买入口尚未开放)。 NEW
  • •实战课程|TensorRT × Triton Inference Server 模型部署
  • •平台: BiliBili 课堂 | 微信公众号 HOT
  • •团队: laugh12321 | 不归牛顿管的熊猫
  • •2026-03-20: 添加对 YOLO26 的支持,包括分类、定向边界框、姿态估计以及实例分割。 NEW
  • •2026-01-07: 添加对 YOLO-Master 的支持,包括分类、定向边界框、姿态估计以及实例分割。 NEW
  • •2025-10-05:精度完美对齐,CUDA 完美复刻 LetterBox,绝大多数情况下像素误差为 0。Python 模块重大重构,易用性大幅提升。 NEW
  • •2025-06-09: C++仅引单头文件 trtyolo.hpp,零第三方依赖(使用模块时无需链接 CUDA 和 TensorRT),增加对带图像间距(Pitch)数据结构的支持,详见 B站。 NEW
  • •2025-04-19: 添加对 YOLO-World, YOLOE 的支持,包括分类、定向边界框、姿态估计以及实例分割,详见 B站。 NEW
  • •2025-03-29: 添加对 YOLO12 的支持,包括分类、定向边界框、姿态估计以及实例分割,详见 issues。 NEW

> 标签

C++computer-visionimage-classificationinstance-segmentationobject-detection

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言