遇见 YOLO26: 下一代视觉 AI。
Ultralytics
集成

使用 ExecuTorch 集成部署 Ultralytics YOLO 模型

探索如何将 Ultralytics YOLO 模型(如 Ultralytics YOLO11)导出为 ExecuTorch 格式,以便在边缘和移动设备上进行高效的 PyTorch 原生部署。

ABAbirami Vina
5 min read
通过 ExecuTorch 集成部署 Ultralytics YOLO 模型

某些 计算机视觉 应用(例如自动化质量检测、自主无人机或智能安防系统)在 Ultralytics YOLO11 等 Ultralytics YOLO 模型靠近图像采集传感器运行时表现最佳。换句话说,这些模型需要在摄像头、无人机或嵌入式系统上直接处理数据,而不是将其发送到云端。

这种被称为 边缘 AI 的方法使模型能够直接在捕获数据的设备上执行推理。通过在本地处理信息而非依赖远程服务器,系统可以实现更低的延迟、更强的数据隐私保护以及更高的可靠性,即使在互联网连接有限或断开的环境中也是如此。

例如,一台每分钟检查数千种产品的制造相机,或是一台在复杂环境中导航的无人机,无法承受云处理带来的延迟。直接在设备上运行 YOLO11 可以实现即时的设备端推理。

为了让在边缘设备上运行 Ultralytics YOLO 模型变得更简单高效,由 Ultralytics 支持的全新 ExecuTorch 集成 提供了一种将模型导出并直接部署到移动和嵌入式设备的精简方案。ExecuTorch 是 PyTorch Edge 生态系统的一部分,为在手机、可穿戴设备、嵌入式开发板和微控制器等移动及边缘硬件上直接运行 AI 模型提供了端到端的解决方案。

这一集成让你可以轻松地将 Ultralytics YOLO 模型(如 YOLO11)从训练阶段过渡到边缘设备部署。通过结合 YOLO11 的视觉能力与 ExecuTorch 的轻量级运行时及 PyTorch 导出管道,用户可以部署在边缘硬件上高效运行的模型,同时保留基于 PyTorch 推理的准确性和性能。

在本文中,我们将深入了解 ExecuTorch 集成的工作原理、它为何非常适合边缘 AI 应用,以及你该如何开始使用 ExecuTorch 部署 Ultralytics YOLO 模型。让我们开始吧!

Link to this section什么是 ExecuTorch?#

通常,当你使用 PyTorch 训练模型时,它会在云端的强大服务器或图形处理单元 (GPU) 上运行。然而,将同一个模型部署到手机、无人机或微控制器等移动或嵌入式设备时,需要一种能够处理有限计算能力、内存和连接性的专门解决方案。

这正是 ExecuTorch 的作用所在。ExecuTorch 是作为 PyTorch Edge 生态系统的一部分开发的端到端解决方案,支持在移动、嵌入式和边缘平台进行高效的设备端推理。它将 PyTorch 的能力扩展到云端之外,让 AI 模型可以直接在本地设备上运行。

Link to this section将 PyTorch 推理引入边缘#

其核心是,ExecuTorch 提供了一个轻量级的 C++ 运行时,允许 PyTorch 模型直接在设备上执行。ExecuTorch 使用 PyTorch ExecuTorch (.pte) 模型格式,这是一种专为更快加载、更小内存占用和更好可移植性而设计的优化导出格式。

它支持 XNNPACK 作为高效中央处理单元 (CPU) 推理的默认后端,并扩展了与多种硬件后端的兼容性,包括 CoreML、Metal、Vulkan、Qualcomm、MediaTek、Arm EthosU、OpenVINO 等。

这些后端能够实现移动、嵌入式和专用边缘设备上的优化加速。ExecuTorch 还与 PyTorch 导出管道集成,提供对 量化 和动态形状处理等高级功能的支持,以提高在不同部署环境下的性能和适应性。

量化通过将高精度值(如 32 位浮点数)转换为低精度值来减小模型大小并提高推理速度,而动态形状处理则用于使模型能够高效处理可变的输入尺寸。这两个功能对于在资源受限的边缘设备上运行 AI 模型至关重要。

ExecuTorch 工作原理概览

图 1. ExecuTorch 工作原理概览(来源

Link to this section边缘硬件的统一层#

除了运行时之外,ExecuTorch 还充当了多个硬件后端的统一抽象层。简而言之,它抽象了硬件细节,并管理模型如何与不同的处理单元交互,包括 CPU、GPU 和神经网络处理单元 (NPU)。

一旦模型导出,就可以配置 ExecuTorch 以针对给定设备最合适的后端。开发者无需编写特定设备的自定义代码或维护单独的转换工作流,即可在多样化的硬件上高效部署模型。

由于其模块化、可移植的设计和无缝的 PyTorch 集成,ExecuTorch 是将 Ultralytics YOLO11 等计算机视觉模型部署到移动和嵌入式系统的绝佳选择。它弥合了模型训练与实际部署之间的差距,使边缘 AI 变得更快、更高效且更易于实施。

Link to this sectionExecuTorch 的主要特点#

在我们了解如何将 Ultralytics YOLO 模型导出为 ExecuTorch 格式之前,先来看看是什么让 ExecuTorch 成为部署边缘 AI 的可靠选择。

以下是其部分主要特点:

  • 量化支持: ExecuTorch 支持模型量化,这是一种将高精度值转换为低精度值以减小模型大小并加速推理的技术。这有助于模型在边缘设备上更快运行并消耗更少内存,同时保持几乎相同的准确度。
  • 内存高效利用: ExecuTorch 的最大优势之一是其处理内存的方式。ExecuTorch 不依赖可能导致延迟和功耗开销的动态内存分配,而是使用预先计算 (AOT) 的内存规划。在导出过程中,它会分析模型图并预先计算每个操作所需的内存量。这使得运行时能够使用静态内存计划来执行模型,确保可预测的性能,并防止在 RAM 或处理能力受限的设备上出现减速或崩溃。
  • 内置模型元数据:在使用由 Ultralytics 支持的集成导出时,每个模型都包含一个 YAML 文件,其中包含重要的元数据,如输入图像尺寸、类别名称和配置参数。这个额外的文件简化了模型在各种应用中的集成,并确保在不同边缘平台上的行为一致。

Link to this section如何将 Ultralytics YOLO 模型导出为 ExecuTorch 格式#

既然我们已经对 ExecuTorch 的优势有了更好的了解,现在让我们看看如何将 Ultralytics YOLO 模型导出为 ExecuTorch 格式。

Link to this section第 1 步:安装 Ultralytics Python 软件包#

首先,你需要使用 pip(一个包安装程序)安装 Ultralytics Python 包。你可以通过在终端或命令提示符中运行 “pip install ultralytics” 来完成此操作。

如果你在 Jupyter Notebook 或 Google Colab 环境中工作,只需在命令前加上感叹号,如 “!pip install ultralytics”。安装完成后,Ultralytics 包提供了你训练、测试和导出包括 Ultralytics YOLO11 在内的计算机视觉模型所需的所有工具。

如果在安装或导出模型时遇到任何问题,官方的 Ultralytics 文档和 常见问题指南 提供了详细的故障排除步骤和最佳实践,帮助你顺利上手。

Link to this section第 2 步:导出 Ultralytics YOLO11#

安装 Ultralytics 包后,你可以加载一个 YOLO11 模型变体并将其 导出 为 ExecuTorch 格式。例如,你可以使用预训练模型如 “yolo11n.pt”,并通过调用 format 设置为 “executorch” 的导出函数来进行导出。

这会创建一个名为 “yolo11n_executorch_model” 的目录,其中包含优化后的模型文件 (.pte) 和一个包含图像尺寸及类别名称等重要信息的独立元数据 YAML 文件。

以下是导出模型的代码:

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="executorch")

Link to this section第 3 步:导出模型后运行推理#

导出后,模型即可使用 ExecuTorch 运行时部署在边缘和移动设备上。导出的 .pte 模型文件可以加载到你的应用中,无需云连接即可运行实时设备端推理。

例如,下面的代码片段展示了如何加载导出的模型并运行推理。推理简单来说就是使用训练好的模型对新数据进行预测。这里,模型是在一张来自公共 URL 的公交车图像上进行测试的。

executorch_model = YOLO("yolo11n_executorch_model")
results = executorch_model.predict("https://ultralytics.com/images/bus.jpg", save=True)

运行代码后,你将在 “runs/detect/predict” 文件夹中找到带有检测到的目标的输出图像。

使用 ExecuTorch 格式的导出 YOLO11 模型进行目标检测

图 2. 在 ExecuTorch 格式中使用导出的 YOLO11 模型检测目标。

Link to this section使用 ExecuTorch 集成的好处#

在探索 Ultralytics 支持的不同导出选项时,你可能想知道是什么让 ExecuTorch 集成变得独特。关键区别在于它将性能、简洁性和灵活性结合得非常出色,使得直接在移动和边缘设备上部署强大的 AI 模型变得轻而易举。

以下是使用 ExecuTorch 集成的一些主要优势:

  • 灵活的部署选项: ExecuTorch 模型可以部署在移动应用、嵌入式系统、物联网 (IoT) 设备和专用边缘 AI 硬件上。这种灵活性使开发者能够构建可在不同平台和环境中一致执行的可扩展 AI 解决方案。
  • 基准验证的性能: 在 Raspberry Pi 5 等设备上的测试表明,导出为 ExecuTorch 格式的 YOLO11 模型运行速度比其 PyTorch 版本快约 2 倍,且准确率几乎相同。
  • 灵活的集成 API: ExecuTorch 为 iOS、Android 和嵌入式 Linux 提供了 C++、Kotlin 和 Objective-C API,允许开发者将 YOLO 模型直接集成到原生应用中。
  • 硬件加速支持: ExecuTorch 支持多种硬件加速后端,包括用于移动 GPU 的 Vulkan 和 Metal,并可选集成 OpenCL 和其他供应商特定的 API。它还可以利用 NPU 和 DSP 等专用加速器,实现比仅使用 CPU 推理显著的提速。

Link to this sectionYOLO11 和 ExecuTorch 导出的实际应用#

最近,Ultralytics 被认定为 PyTorch ExecuTorch 成功案例,凸显了我们对设备端推理的早期支持以及对 PyTorch 生态系统的持续贡献。这一认可反映了我们共同的目标,即让高性能 AI 在移动和边缘平台上更易于访问。

Link to this section从云端到边缘:ExecuTorch 和 YOLO11 如何让视觉 AI 焕发活力#

实际上,这表现为从智能手机到嵌入式系统等各种设备上高效运行的真实视觉 AI 解决方案。例如,在制造业中,边缘设备在实时监控生产线和检测缺陷方面发挥着至关重要的作用。

使用 YOLO11 分析制造装配线

图 3. 使用 YOLO11 分析制造装配线的示例。(来源

无需将图像或传感器数据发送到云端进行处理(这可能会引入延迟并依赖互联网连接),ExecuTorch 集成使 YOLO11 模型能够直接在本地硬件上运行。这意味着工厂可以实时检测质量问题,减少停机时间,并保护数据隐私,同时在计算资源有限的情况下运行。

以下是 ExecuTorch 集成和 Ultralytics YOLO 模型如何被应用的几个其他示例:

  • 智慧城市: 通过使用 ExecuTorch 在本地运行 YOLO11 模型,城市可以更快地做出数据驱动的决策,从检测交通拥堵到识别危险,从而提高整体移动性和安全性。
  • 零售与仓储: 通过设备端推理,零售商可以自动化货架监控、追踪库存并快速安全地检查包裹,而无需依赖云连接。
  • 机器人与无人机 针对边缘优化的 YOLO11 模型使机器人和无人机即使在没有互联网接入的情况下也能识别物体、导航环境并做出实时决策。

使用 YOLO11 检测并统计交通车辆

图 4. 使用 YOLO11 检测并统计交通中的车辆(来源

Link to this section关键要点#

将 Ultralytics YOLO 模型导出为 ExecuTorch 格式,可以轻松地将计算机视觉模型部署到许多设备上,包括智能手机、平板电脑和 Raspberry Pi 等嵌入式系统。这意味着可以在不依赖云连接的情况下运行优化的设备端推理,从而提高了速度、隐私性和可靠性。

除了 ExecuTorch,Ultralytics 还支持多种集成,包括 TensorRT、OpenVINO、CoreML 等,为开发者提供了跨平台运行模型的灵活性。随着视觉 AI 的普及,这些集成简化了构建在现实条件下高效运行的智能系统的部署。

对 AI 好奇吗?查看我们的 GitHub 仓库,加入 我们的社区,并探索我们的 许可选项 来开启你的视觉 AI 项目。访问我们的解决方案页面,了解更多关于 零售 AI物流计算机视觉 等创新成果。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。

了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。

了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。

了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。

了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。

了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。

了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。

了解更多

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅