Ultralytics YOLO27:

Axelera AI 导出与部署#

Ultralytics 与 Axelera AI 合作,为 Edge AI 设备提供高性能、节能的推理能力。将 Ultralytics YOLO models 直接导出并部署到 Metis® AIPU,使用 Voyager SDK

用于 YOLO 的 Axelera AI 边缘部署生态系统

Axelera AI 通过专有的数据流架构和 内存计算,为边缘端的 计算机视觉 提供专用硬件加速,以低功耗实现最高 856 TOPS

选择合适的硬件#

Axelera AI 提供多种外形规格,以满足不同的部署限制。下图有助于为你的 Ultralytics YOLO 部署确定最优硬件。

graph TD
    A[Start: Select Deployment Target]:::start --> B{Device Type?}:::decide
    B -->|Edge Server / Workstation| C{Throughput Needs?}:::decide
    B -->|Embedded / Robotics| D{Space Constraints?}:::decide
    B -->|Standalone / R&D| E[Dev Kits & Systems]:::proc

    C -->|Max Density <br> 30+ Streams| F[**Metis PCIe x4**<br>856 TOPS]:::out
    C -->|Standard PC <br> Low Profile| G[**Metis PCIe x1**<br>214 TOPS]:::out

    D -->|Drones & Handhelds| H[**Metis M.2**<br>2280 M-Key]:::out
    D -->|High Performance Embedded| I[**Metis M.2 MAX**<br>Extended Thermal]:::out

    E -->|ARM-based All-in-One| J[**Metis Compute Board**<br>RK3588 + AIPU]:::out
    E -->|Prototyping| K[**Arduino Portenta x8**<br>Integration Kit]:::out

    click F "https://store.axelera.ai/"
    click G "https://store.axelera.ai/"
    click H "https://store.axelera.ai/"
    click J "https://store.axelera.ai/"

    classDef start fill:#4CAF50,color:#fff
    classDef proc fill:#2196F3,color:#fff
    classDef decide fill:#FF9800,color:#fff
    classDef out fill:#9C27B0,color:#fff

硬件产品组合#

Axelera 硬件产品线经过优化,可高效运行 Ultralytics YOLO26 及旧版模型,并实现较高的每瓦 FPS。

加速卡#

这些卡可为现有主机设备提供 AI 加速,便于开展 棕地部署

产品外形规格算力性能(INT8)目标应用
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPS高密度视频分析、智慧城市
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPS工业 PC、零售队列管理
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPS无人机、机器人、便携式医疗设备
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPS需要高级热管理的环境

集成系统#

对于交钥匙解决方案,Axelera 与制造商合作,提供经过预先验证、适用于 Metis AIPU 的系统。

  • Metis Compute Board:一款独立的边缘设备,将 Metis AIPU 与 Rockchip RK3588 ARM CPU 配对使用。
  • 工作站:来自 Dell(Precision 3460XE)和 Lenovo(ThinkStation P360 Ultra)的企业级塔式工作站。
  • 工业 PC:来自 AdvantechAetina 的加固型系统,专为制造自动化设计。

支持的任务#

不支持深度估计:深度头输出的算子无法由 Metis AIPU 编译器进行低阶转换。Ultralytics export 同样不支持 YOLO26 实例分割,但仍可通过下文所述的 Voyager SDK 进行部署。支持 YOLO26 语义分割。

任务YOLOv8YOLO11YOLO26
检测
分割
语义
深度
分类
姿态
OBB
注意

Ultralytics export 命令暂不支持 YOLO26 实例分割。需要 yolo26-seg 的用户可以使用 deploy.py 通过 Voyager SDK 进行部署,这提供了一种用户空间的变通方法。原生编译器支持将在未来的版本中添加。

安装#

平台要求

导出为 Axelera 格式需要:

  • 操作系统:仅支持 Linux(推荐 Ubuntu 22.04/24.04)
  • 硬件:Axelera AI 加速器(Metis 设备
  • Python:3.10、3.11、3.12 和 3.13 版本
  • PyTorchtorch>=2.8,<2.13
  • Voyager SDK:1.8.0;导出时会安装此开发套件版本,推理时会安装此运行时版本
  • Metis 内核驱动程序metis-dkms 1.6.2 或更新版本,与 pip 分开安装
  • 系统依赖项sudo apt install libgl1(OpenCV 所需,不会通过 pip 安装)

Ultralytics 安装#

pip install ultralytics

如需详细说明,请参阅我们的 Ultralytics 安装指南。如果遇到困难,请查阅我们的 常见问题指南

Axelera 驱动程序安装#

  1. 添加 Axelera 软件源密钥:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. 将软件源添加到 apt:

    从下方选择与所用操作系统匹配的代码片段。

    # Ubuntu 22.04
    sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu22 main' > /etc/apt/sources.list.d/axelera.list"
    # Ubuntu 24.04
    sudo sh -c "echo 'deb [signed-by=/etc/apt/keyrings/axelera.gpg] https://software.axelera.ai/artifactory/axelera-apt-source ubuntu24 main' > /etc/apt/sources.list.d/axelera.list"
  3. 安装驱动程序并加载它。SDK 1.8 需要 metis-dkms 1.6.2 或更新版本,因此这里安装最新版本:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
使内核驱动程序与 SDK 保持同步

内核驱动程序与 Python SDK 软件包分开安装,因此在升级 SDK 后,你还必须将内核驱动程序提升到该 SDK 的最低要求——SDK 1.8 要求 1.6.2。安装时没有任何检查机制,低于最低要求的内核驱动程序会使设备不可用:axdevice 会报告所需的版本并且无法打开设备。

[libaxldev.c:285] Found kernel driver version 1.5.5, but at least version 1.6.2 is required. Please update the kernel driver
ERROR: AXR_ERROR_CONNECTION_ERROR: Failed to open device metis-0:4:0

另请参阅步骤 3:安装 Metis 内核驱动程序。如果已经在 Ubuntu 上运行较早的 SDK,请更新内核驱动程序并重新加载内核模块(无需重启):

sudo apt update
sudo apt install -y metis-dkms
sudo rmmod metis
sudo modprobe metis

然后重新运行 axdevice,确认设备已被检测到。

首次运行会自动下载 SDK

首次使用 Axelera 模型运行 yolo export format=axelerayolo predict 时,系统会自动下载并安装 Axelera SDK 软件包。根据你的连接速度,这可能需要几分钟,下载期间不会显示进度。若要提前手动安装:

pip install axelera-devkit==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.8.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
SDK 升级会使现有的已导出模型失效

SDK 1.8 提高了已编译的 .axm 模型格式版本,因此在加载时会拒绝由早期 SDK 生成的 _axelera_model 目录。升级后请重新导出每个模型:

Error: Unsupported model version: 4.0, expected at least 5.0
Please re-deploy or re-download the model.

将 YOLO 模型导出到 Axelera#

Axelera 格式支持 导出预测验证 模式。推理和验证在 Axelera Metis AIPU 硬件上运行。导出模型,然后加载导出的模型以运行推理或验证其准确率。

导出
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to Axelera format
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Predict
from ultralytics import YOLO

# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
验证
from ultralytics import YOLO

# Load the exported Axelera model
model = YOLO("yolo26n_axelera_model")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

导出参数#

参数类型默认值描述
formatstr'axelera'适用于 Axelera Metis AIPU 硬件的目标格式。
imgszinttuple640模型输入的图像尺寸。
batch*int1指定导出模型的批量推理大小,或指定导出模型在 predict 模式下并发处理的最大图像数量。
quantizeintstr8/auto量化精度。Axelera AIPU 需要 8(INT8),该选项会自动启用。此选项取代已弃用的 half/int8 标志。请参阅 INT8 量化
datastrNone校准数据集 YAML;分类任务则接受数据集目录或内置数据集名称。如果省略,Ultralytics 会选择特定于任务的校准数据集。
fractionfloatintlist1.0校准子集,可以指定为比例、图像数量或 [train, val, test] 比例/数量。包含两个元素的列表会保留 test 的完整内容,同时跳过 0(推荐使用 100–400 张图像)。
devicestrNone导出设备:GPU(device=0)或 CPU(device=cpu)。

* 使用 batch>1 进行推理需要 Voyager SDK 1.8.0 或更新版本;模型是针对单张图像进行编译的。

如需查看所有导出选项,请参阅导出模式文档

输出结构#

yolo26n_axelera_model/
├── yolo26n.axm                  # Axelera model file
├── compiler_config_final.toml  # Compiler configuration used for the build
└── metadata.yaml               # Model metadata (classes, image size, etc.)

Axelera AI 基准测试#

Metis AIPU 在最大化吞吐量的同时,尽量降低能耗。

模型Metis PCIe FPS(每秒帧数)Metis M.2 FPS(每秒帧数)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

基准测试基于 Axelera AI 数据。实际 FPS 取决于模型大小、批处理方式和输入分辨率。

这些是主机吞吐量数据,由模型库通过 Voyager SDK 的流式处理管道在 720p 视频文件上测得。单个 predict 调用改为报告每张图像的延迟,这是一个不同的量化指标。

实际应用#

Ultralytics YOLO 在 Axelera 硬件上支持高级边缘计算解决方案:

推荐工作流#

  1. 使用 Ultralytics 训练模式训练模型
  2. 使用 model.export(format="axelera") 将模型导出为 Axelera 格式
  3. 使用 yolo val 验证准确率,以确认量化损失最小
  4. 使用 yolo predict 预测,进行定性验证
  5. 在不依赖 PyTorch 的情况下将模型部署到高性能端到端流水线——请参阅 Voyager SDK 上的 YOLO 示例,了解如何使用 axelera-rt 构建可组合的 Python 流水线

设备健康检查#

确认你的 Axelera 设备运行正常:

# if axdevice cannot be found, please run at least one inference (see above) to ensure the required packages are installed
axdevice

如需详细诊断信息,请参阅 AxDevice 文档

最高性能#

模型是针对单张图像进行编译的。将多张图像传递给预测会将这些图像通过 Axelera 调度器(Voyager SDK 1.8 或更新版本)进行路由,因此 batch>1 可以正确运行,尽管在单个设备上进行端到端测量时,它并不比 batch=1 快:

yolo predict model=yolo26n_axelera_model source=path/to/images batch=8

对于需要最大吞吐量的生产环境,Axelera Voyager SDK 提供了:

  • 可保持多个帧同时处理的流式推理管道
  • 跨多个核心编译单个模型
  • 用于高分辨率摄像头的分块推理

请参阅 model-zoo 了解 FPS 基准测试,或联系 Axelera 获取生产支持。

已知问题#

已知限制
  • M.2 电源限制:由于供电限制,大型或超大型模型在 M.2 加速器上运行时可能会遇到错误。

如需支持,请访问 Axelera Community

常见问题#

  • Voyager SDK 支持导出 YOLOv8YOLO11YOLO26 模型。请参阅支持的任务了解每个模型支持的任务。

  • 可以。使用 Ultralytics Train Mode 训练的任何模型都可以导出为 Axelera 格式,前提是该模型使用受支持的层和操作。

  • Axelera 的 Voyager SDK 会针对混合精度 AIPU 架构自动量化模型。对于大多数目标检测任务,性能提升(更高的 FPS、更低的功耗)带来的收益远大于对 mAP 的极小影响。量化耗时从几秒到数小时不等,具体取决于模型大小。导出后运行 yolo val 以验证准确率。

  • 我们建议使用 100 到 400 张图像。超过 400 张不会带来额外收益,反而会增加量化时间。你可以分别使用 100、200 和 400 张图像进行测试,以找到最佳平衡点。

  • SDK、驱动程序和编译器工具可通过 Axelera Developer Portal 获取。

评论