了解如何使用 TensorRT 集成导出 Ultralytics YOLO 模型,从而在 NVIDIA GPU 上实现更快、更高效的 AI 性能,以用于实时应用。

了解如何使用 TensorRT 集成导出 Ultralytics YOLO 模型,从而在 NVIDIA GPU 上实现更快、更高效的 AI 性能,以用于实时应用。
设想一辆自动驾驶汽车行驶在繁忙的街道上,只有几毫秒的时间来检测从路边走下来的行人。与此同时,它可能需要识别被树木部分遮挡的停车标志,或者对驶入其车道的附近车辆做出快速反应。在这种情况下,速度和实时响应至关重要。
这就是人工智能 (AI),特别是 计算机视觉(人工智能的一个分支,可帮助机器解释视觉数据)发挥关键作用的地方。为了使计算机视觉解决方案在现实环境中可靠地工作,通常需要快速处理信息、同时处理多个任务并高效地使用内存。
实现这一目标的一种方法是通过硬件加速,使用图形处理单元(GPU)等专用设备来更快地运行模型。NVIDIA GPU以其能够提供低延迟和高吞吐量而闻名。
然而,按原样在GPU上运行模型并不总是能保证最佳性能。视觉AI模型通常需要经过优化才能充分利用硬件设备的功能。为了通过特定硬件实现完整性能,我们需要编译模型以使用该硬件的特定指令集。
例如,TensorRT 是 NVIDIA 开发的一种导出格式和优化库,旨在提高高端机器的性能。它使用先进的技术来显着减少推理时间,同时保持准确性。
在本文中,我们将探讨 Ultralytics 支持的 TensorRT 集成,并逐步介绍如何导出 YOLO11 模型,以便在 NVIDIA 硬件上实现更快、更高效的部署。让我们开始吧!
TensorRT 是 NVIDIA 开发的工具包,旨在帮助 AI 模型在 NVIDIA GPU 上更快、更高效地运行。它专为速度和性能至关重要的实际应用而设计,例如自动驾驶汽车以及制造和制药领域的质量控制。
TensorRT 包含编译器和模型优化器等工具,这些工具可以在后台运行,以确保您的模型以低延迟运行并能处理更高的吞吐量。
Ultralytics 支持的 TensorRT 集成通过优化您的 YOLO 模型,使其在使用诸如降低精度等方法时,在 GPU 上更高效地运行。这指的是使用较低位格式(如 16 位浮点 (FP16) 或 8 位整数 (INT8))来表示模型数据,从而减少内存使用并加快计算速度,同时对准确性的影响极小。
此外,兼容的神经网络层在优化的 TensorRT 模型中融合,以减少内存使用,从而实现更快、更高效的推理。
在我们讨论如何使用 TensorRT 集成导出 YOLO11 之前,让我们先来看看 TensorRT 模型格式的一些关键特性:
将 Ultralytics YOLO 模型(如 Ultralytics YOLO11)导出为 TensorRT 模型格式非常简单。让我们逐步了解所涉及的步骤。
首先,您可以使用诸如“pip”之类的包管理器安装 Ultralytics Python 包。这可以通过在命令提示符或终端中运行命令 “pip install ultralytics” 来完成。
成功安装 Ultralytics Python 包后,您可以训练、测试、微调、导出和部署模型,以用于各种计算机视觉任务,例如目标检测、分类和实例分割。如果在安装软件包时遇到任何困难,您可以参考常见问题解答指南以获取解决方案和技巧。
下一步,您需要一个 NVIDIA 设备。使用下面的代码片段来加载 YOLOv11 并将其导出为 TensorRT 模型格式。它加载了 YOLO11 模型的预训练 nano 变体 (yolo11n.pt),并将其导出为 TensorRT 引擎文件 (yolo11n.engine),使其可以部署在 NVIDIA 设备上。
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")
将模型转换为 TensorRT 格式后,您可以将其部署于各种应用中。
下面的示例展示了如何加载导出的 YOLO11 模型 (yolo11n.engine) 并使用它运行推理。推理涉及使用经过训练的模型对新数据进行预测。在本例中,我们将使用一张输入图像(一只狗)来测试该模型。
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)
当您运行此代码时,以下输出图像将保存在 runs/detect/predict 文件夹中。
Ultralytics Python 软件包支持各种集成,允许将 导出 YOLO 模型为不同的格式,如 TorchScript、CoreML、ONNX 和 TensorRT。那么,何时应该选择使用 TensorRT 集成呢?
以下是一些使 TensorRT 模型格式与其他导出集成选项区分开来的因素:
导出为 TensorRT 格式的 Ultralytics YOLO 模型可以部署在各种实际场景中。这些优化后的模型在快速、高效的 AI 性能至关重要的情况下尤其有用。让我们来探索一些它们的应用实例。
零售商店中的许多任务,例如扫描条形码、称重产品或包装商品,仍然由员工手动处理。 然而,仅仅依靠员工会减慢运营速度并导致客户不满,尤其是在结账时。 长队对于购物者和店主来说都是不方便的。 智能自助结账柜台是解决此问题的好方法。
这些计数器使用计算机视觉和 GPU 来加速处理过程,从而有助于减少等待时间。计算机视觉使这些系统能够通过诸如目标检测之类的任务来观察和理解其环境。当使用 TensorRT 等工具进行优化时,YOLO11 等高级模型可以在 GPU 设备上运行得更快。
这些导出的模型非常适合使用紧凑但功能强大的硬件设备(如专为边缘 AI 应用设计的 NVIDIA Jetson Nano)的智能零售设置。
像 YOLO11 这样的计算机视觉模型可以经过自定义训练,以检测制造业中的缺陷产品。 经过训练后,可以将模型导出为 TensorRT 格式,以便部署在配备高性能 AI 系统的设施中。
当产品沿着传送带移动时,摄像头会捕获图像,而以 TensorRT 格式运行的 YOLO11 模型会实时分析这些图像以发现缺陷。这种设置使公司能够快速准确地发现问题,从而减少错误并提高效率。
同样,制药等行业正在使用这些类型的系统来识别医疗包装中的缺陷。事实上,到 2026 年,全球智能缺陷检测系统市场预计将增长到 50 亿美元。
虽然 TensorRT 集成带来了许多优势,例如更快的推理速度和更低的延迟,但以下是一些需要注意的限制:
将 Ultralytics YOLO 模型导出为 TensorRT 格式可以显著提高其运行速度和效率,使其成为实时任务的理想选择,例如检测工厂中的缺陷、为智能结账系统提供支持或监控繁忙的城市区域。
这种优化通过加速预测并减少内存和功耗,帮助模型在NVIDIA GPU上表现更好。虽然有一些限制,但性能提升使TensorRT集成成为在NVIDIA硬件上构建高速计算机视觉系统的绝佳选择。
想了解更多关于人工智能的信息吗?请浏览我们的GitHub 仓库,与我们的社区互动,并查看我们的许可选项,以快速启动您的计算机视觉项目。在我们的解决方案页面上,了解更多关于制造业中的人工智能和物流行业中的计算机视觉等创新应用。