TensorRT
探索 TensorRT 如何为 NVIDIA GPU 优化深度学习模型。学习如何将 Ultralytics YOLO26 导出到 TensorRT,以立即实现低延迟、高速推理。
TensorRT 是由 NVIDIA 开发的高性能深度学习推理软件开发工具包 (SDK)。它旨在优化用于部署的神经网络模型,为深度学习应用提供低推理延迟和高吞吐量。作为优化编译器,TensorRT 采用来自 PyTorch 和 TensorFlow 等主流框架的训练网络,并对其进行重构,以便在 NVIDIA GPU 上高效执行。对于在速度和效率至关重要的生产环境中运行复杂的 AI 模型而言,此功能至关重要。
TensorRT 如何优化模型#
TensorRT 的核心功能是将训练好的神经网络转换为专门针对目标硬件调整的“引擎”。它通过几种先进技术来实现这一点:
- 层融合: 优化器将神经网络的多层组合为单个内核,从而减少内存访问开销并提高执行速度。
- 精度校准: TensorRT 支持降低精度模式,例如混合精度 (FP16) 和整型量化 (INT8)。通过减少用于表示数字的位数(通常精度损失极小),开发者可以显著加速数学运算并减少内存使用。这是模型量化的一种形式。
- 内核自动调优: 软件会自动为正在使用的特定 GPU 架构选择最佳数据层和算法,并通过 CUDA 确保最大限度地利用硬件的并行处理能力。
实际应用#
由于 TensorRT 能够以极小的延迟处理海量数据,因此它被广泛采用在依赖计算机视觉和对时间要求极为严格的复杂 AI 任务的行业中。
-
自主系统: 在汽车 AI 领域,自动驾驶汽车必须处理来自多个摄像头的视频流,以即时检测行人、标志和障碍物。使用 TensorRT,诸如目标检测网络之类的感知模型可以在毫秒级内分析帧,使车辆的控制系统能够毫无延迟地做出安全关键决策。
-
工业自动化: 现代工厂在自动光学检测中利用制造 AI。高速摄像机捕捉装配线上的产品图像,经 TensorRT 优化的模型可实时识别缺陷或异常。这确保了质量控制能够跟上高速生产环境的步伐,通常直接部署在工厂车间里的诸如 NVIDIA Jetson 平台的边缘 AI 设备上。
在 Ultralytics YOLO 中使用 TensorRT#
借助现代 AI 工具,将 TensorRT 集成到你的工作流中非常简单。ultralytics 包提供了一种将标准 PyTorch 模型转换为 TensorRT 引擎的无缝方法。这允许用户将 Ultralytics YOLO26 的先进架构与 NVIDIA GPU 的硬件加速结合使用。对于希望在导出之前管理数据集和训练管线的团队,Ultralytics 平台提供了一个全面的环境来准备用于此类高性能部署的模型。
以下示例演示了如何将 Ultralytics YOLO26 模型导出为 TensorRT 引擎文件(.engine)并将其用于实时推理:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT 与 ONNX 和训练框架的对比#
区分 TensorRT 与模型部署领域中经常听到的其他术语非常重要:
- 与 PyTorch/TensorFlow 的对比: 像 PyTorch 这样的框架主要用于模型 训练 和研究,提供了灵活性和易调试性。TensorRT 是专门设计用于尽可能快地执行训练后模型的 推理引擎。它不用于训练。
- 与 ONNX 相比: ONNX (开放式神经网络交换) 格式充当框架之间的中间桥梁。虽然 ONNX 提供了互操作性(例如,将模型从 PyTorch 移动到另一个平台),但 TensorRT 专注于特定于硬件的优化。通常,模型会首先转换为 ONNX,然后由 TensorRT 进行解析以生成最终引擎。
对于旨在最大限度提升其AI 智能体或视觉系统性能的开发者而言,理解从训练框架到诸如 TensorRT 等优化运行时的过渡是专业 MLOps 中的关键一步。






