Axelera AI 导出与部署#
Ultralytics 与 Axelera AI 合作,为 Edge AI 设备提供高性能、节能的推理能力。将 Ultralytics YOLO models 直接导出并部署到 Metis® AIPU,使用 Voyager SDK。
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 x4 | PCIe Gen3 x16 | 4x Metis AIPU | 856 TOPS | 高密度视频分析、智慧城市 |
| Metis PCIe x1 | PCIe Gen3 x1 | 1x Metis AIPU | 214 TOPS | 工业 PC、零售队列管理 |
| Metis M.2 | M.2 2280 M-Key | 1x Metis AIPU | 214 TOPS | 无人机、机器人、便携式医疗设备 |
| Metis M.2 MAX | M.2 2280 | 1x Metis AIPU | 214 TOPS | 需要高级热管理的环境 |
集成系统#
对于交钥匙解决方案,Axelera 与制造商合作,提供经过预先验证、适用于 Metis AIPU 的系统。
- Metis Compute Board:一款独立的边缘设备,将 Metis AIPU 与 Rockchip RK3588 ARM CPU 配对使用。
- 工作站:来自 Dell(Precision 3460XE)和 Lenovo(ThinkStation P360 Ultra)的企业级塔式工作站。
- 工业 PC:来自 Advantech 和 Aetina 的加固型系统,专为制造自动化设计。
支持的任务#
不支持深度估计:深度头输出的算子无法由 Metis AIPU 编译器进行低阶转换。Ultralytics export 同样不支持 YOLO26 实例分割,但仍可通过下文所述的 Voyager SDK 进行部署。支持 YOLO26 语义分割。
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 版本
- PyTorch:
torch>=2.8,<2.13 - Voyager SDK:1.8.0;导出时会安装此开发套件版本,推理时会安装此运行时版本
- Metis 内核驱动程序:
metis-dkms1.6.2 或更新版本,与pip分开安装 - 系统依赖项:
sudo apt install libgl1(OpenCV 所需,不会通过pip安装)
Ultralytics 安装#
pip install ultralytics如需详细说明,请参阅我们的 Ultralytics 安装指南。如果遇到困难,请查阅我们的 常见问题指南。
Axelera 驱动程序安装#
-
添加 Axelera 软件源密钥:
sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg" -
将软件源添加到 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" -
安装驱动程序并加载它。SDK 1.8 需要
metis-dkms1.6.2 或更新版本,因此这里安装最新版本:sudo apt update sudo apt install -y metis-dkms sudo modprobe metis
内核驱动程序与 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,确认设备已被检测到。
首次使用 Axelera 模型运行 yolo export format=axelera 或 yolo 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/simpleSDK 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'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")导出参数#
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
format | str | 'axelera' | 适用于 Axelera Metis AIPU 硬件的目标格式。 |
imgsz | int 或 tuple | 640 | 模型输入的图像尺寸。 |
batch* | int | 1 | 指定导出模型的批量推理大小,或指定导出模型在 predict 模式下并发处理的最大图像数量。 |
quantize | int 或 str | 8/auto | 量化精度。Axelera AIPU 需要 8(INT8),该选项会自动启用。此选项取代已弃用的 half/int8 标志。请参阅 INT8 量化。 |
data | str | None | 校准数据集 YAML;分类任务则接受数据集目录或内置数据集名称。如果省略,Ultralytics 会选择特定于任务的校准数据集。 |
fraction | float、int 或 list | 1.0 | 校准子集,可以指定为比例、图像数量或 [train, val, test] 比例/数量。包含两个元素的列表会保留 test 的完整内容,同时跳过 0(推荐使用 100–400 张图像)。 |
device | str | None | 导出设备: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(每秒帧数) |
|---|---|---|
| YOLOv8n | 847 | 771 |
| YOLO11n | 746 | 574 |
| YOLO26n | 648.6 | 484.9 |
基准测试基于 Axelera AI 数据。实际 FPS 取决于模型大小、批处理方式和输入分辨率。
这些是主机吞吐量数据,由模型库通过 Voyager SDK 的流式处理管道在 720p 视频文件上测得。单个 predict 调用改为报告每张图像的延迟,这是一个不同的量化指标。
实际应用#
Ultralytics YOLO 在 Axelera 硬件上支持高级边缘计算解决方案:
- 智慧零售:实时目标计数和热力图分析,用于优化门店运营。
- 工业安全:在制造环境中实现低延迟的 PPE 检测。
- 无人机分析:在 UAV 上高速执行目标检测,用于农业和搜救。
- 交通系统:基于边缘的车牌识别和速度估计。
推荐工作流#
- 使用 Ultralytics 训练模式训练模型
- 使用
model.export(format="axelera")将模型导出为 Axelera 格式 - 使用
yolo val验证准确率,以确认量化损失最小 - 使用
yolo predict预测,进行定性验证 - 在不依赖 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。
常见问题#
可以。使用 Ultralytics Train Mode 训练的任何模型都可以导出为 Axelera 格式,前提是该模型使用受支持的层和操作。
我们建议使用 100 到 400 张图像。超过 400 张不会带来额外收益,反而会增加量化时间。你可以分别使用 100、200 和 400 张图像进行测试,以找到最佳平衡点。
SDK、驱动程序和编译器工具可通过 Axelera Developer Portal 获取。