Ultralytics YOLO27: Join the waitlist.
Get Started

Axelera AI Export and Deployment#

Ultralytics partners with Axelera AI to enable high-performance, energy-efficient inference on Edge AI devices. Export and deploy Ultralytics YOLO models directly to the Metis® AIPU using the Voyager SDK.

Axelera AI edge deployment ecosystem for YOLO

Axelera AI provides dedicated hardware acceleration for computer vision at the edge, using a proprietary dataflow architecture and in-memory computing to deliver up to 856 TOPS with low power consumption.

Selecting the Right Hardware#

Axelera AI offers various form factors to suit different deployment constraints. The chart below helps identify the optimal hardware for your Ultralytics YOLO deployment.

Hardware Portfolio#

The Axelera hardware lineup is optimized to run Ultralytics YOLO26 and legacy versions with high FPS-per-watt efficiency.

Accelerator Cards#

These cards enable AI acceleration in existing host devices, facilitating brownfield deployments.

ProductForm FactorComputePerformance (INT8)Target Application
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSHigh-density video analytics, smart cities
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSIndustrial PCs, retail queue management
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrones, robotics, portable medical devices
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSEnvironments requiring advanced thermal management

Integrated Systems#

For turnkey solutions, Axelera partners with manufacturers to provide systems pre-validated for the Metis AIPU.

  • Metis Compute Board: A standalone edge device pairing the Metis AIPU with a Rockchip RK3588 ARM CPU.
  • Workstations: Enterprise towers from Dell (Precision 3460XE) and Lenovo (ThinkStation P360 Ultra).
  • Industrial PCs: Ruggedized systems from Advantech and Aetina designed for manufacturing automation.

Supported Tasks#

Axelera export supports all seven Ultralytics tasks. Semantic segmentation and depth estimation are available only with YOLO26, the only family that ships those heads.

YOLO26 detection, instance segmentation, pose and OBB models export their NMS-free one-to-one head by default, and the Axelera runtime decodes it on the host. Passing nms=True exports the one-to-many head instead, which scores lower on Metis: YOLO26n detection reaches mAP50-95 0.212 on COCO128 that way, against 0.453 with the NMS-free head.

TaskYOLOv8YOLO11YOLO26
Detect✅✅✅
Segment✅✅✅
Semantic❌❌✅
Depth❌❌✅
Classify✅✅✅
Pose✅✅✅
OBB✅✅✅
Calibrate depth models on images from your own scenes

Quantization ranges come from the calibration images, and the default for depth, depth8.yaml, holds four indoor frames. On the 654-image NYU Depth V2 val split, YOLO26n depth calibrated on that default scores delta1 0.742 on Metis against 0.783 for the PyTorch model, while 100 NYU training frames give 0.780. Pass data= with a dataset YAML whose val split holds at least 100 images from the scenes the model will see; calibration reads the val split.

Installation#

Platform Requirements

Exporting to Axelera format requires:

  • Operating System: Linux only (Ubuntu 22.04/24.04 recommended)
  • Hardware: Axelera AI accelerator (Metis devices)
  • Python: Versions 3.10, 3.11, 3.12, and 3.13
  • PyTorch: torch>=2.8,<2.15
  • Voyager SDK: 1.9.0; export installs this devkit version and inference installs this runtime version
  • Metis kernel driver: metis-dkms 1.7.0 or newer, installed separately from pip
  • System dependency: sudo apt install libgl1 (required by OpenCV, not included via pip)

Ultralytics Installation#

pip install ultralytics

For detailed instructions, see our Ultralytics Installation guide. If you encounter difficulties, consult our Common Issues guide.

Axelera Driver Installation#

  1. Add the Axelera repository key:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. Add the repository to apt:

    Choose the appropriate snippet from below to match the OS being used.

    # 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. Install the driver and load it. SDK 1.9 needs metis-dkms 1.7.0 or newer, so the newest is installed here:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Keep the kernel driver in sync with the SDK

The kernel driver is installed separately from the Python SDK packages, so after upgrading the SDK you must also bring the driver up to that SDK's minimum — 1.7.0 for SDK 1.9. Nothing checks this at install time, and a driver below the minimum leaves the device unavailable: axdevice reports the version required and fails to open the device.

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

See also Step 3: Install the Metis kernel driver. If you are already running an earlier SDK on Ubuntu, update the driver and reload the kernel module (no reboot required):

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

Then re-run axdevice to confirm the device is detected.

First run downloads the SDK automatically

The first yolo export format=axelera or yolo predict with an Axelera model will automatically download and install the Axelera SDK packages. This may take several minutes depending on your connection speed, and no progress is shown during the download. To install manually beforehand:

pip install axelera-devkit==1.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
pip install axelera-rt==1.9.0 --extra-index-url https://software.axelera.ai/artifactory/api/pypi/axelera-pypi/simple
Models exported with SDK 1.8 keep working

SDK 1.9 does not raise the compiled .axm model format, so an _axelera_model directory exported with 1.8 loads and runs unchanged. Re-export only to pick up compiler improvements.

An SDK that does raise the format rejects older directories at load time, which is what an upgrade from 1.7 or earlier reports:

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

Exporting YOLO Models to Axelera#

The Axelera format supports the Export, Predict, and Validate modes. Inference and validation run on Axelera Metis AIPU hardware. Export your model, then load the exported model to run inference or validate its accuracy.

Export
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")
Validate
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")

Export Arguments#

ArgumentTypeDefaultDescription
formatstr'axelera'Target format for Axelera Metis AIPU hardware.
imgszint or tuple640Image size for model input.
batch*int1Calibration batch size. The compiled model takes one image at a time.
quantizeint or str8/autoQuantization precision. 8 (INT8) is required and auto-enabled for the Axelera AIPU. Replaces the deprecated half/int8 flags. See INT8 quantization.
datastrNoneCalibration dataset YAML; classification instead takes a dataset directory or a built-in dataset name. If omitted, Ultralytics selects a task-specific calibration dataset.
fractionfloat, int, or list1.0Calibration subset as a ratio, image count, or [train, val, test] ratios/counts. Two-item lists leave test full, while 0 skips it (100-400 images recommended).
devicestrNoneExport device: GPU (device=0) or CPU (device=cpu).

* Models are compiled for a single image, so the export batch only sets the calibration batch size. Pass batch to predict instead to hand the Axelera scheduler several images at once (Voyager SDK 1.8.0 or newer): see Maximum Performance.

For all export options, see the Export Mode documentation.

Output Structure#

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 Benchmarks#

The Metis AIPU maximizes throughput while minimizing energy consumption.

ModelMetis PCIe FPS (frames per second)Metis M.2 FPS (frames per second)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Benchmarks based on Axelera AI data. Actual FPS depends on model size, batching, and input resolution.

These are host throughput figures, measured by the model zoo with the Voyager SDK's streaming pipeline over a 720p video file. A single predict call reports per-image latency instead, which is a different quantity.

Real-World Applications#

Ultralytics YOLO on Axelera hardware enables advanced edge computing solutions:

  1. Train your model using Ultralytics Train Mode
  2. Export to Axelera format using model.export(format="axelera")
  3. Validate accuracy with yolo val to verify minimal quantization loss
  4. Predict using yolo predict for qualitative validation
  5. Deploy to a high-performance end-to-end pipeline without PyTorch dependency — see the YOLO on Voyager SDK examples for composable Python pipelines using axelera-rt

Device Health Check#

Verify your Axelera device is functioning properly:

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

For detailed diagnostics, see the AxDevice documentation.

Maximum Performance#

Models are compiled for a single image, and a single image runs on one AIPU core. Passing several images to Predict hands them to the Axelera scheduler together, which spreads them over the cores of the device:

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

yolo26n at imgsz=640 over the 128 COCO128 images in a directory, Metis PCIe, median of three runs:

Voyager SDKDevicesbatch=1batch=8batch=32
1.8.0136 img/s45 img/s40 img/s
1.8.0239 img/s41 img/s41 img/s
1.9.0141 img/s85 img/s109 img/s
1.9.0235 img/s83 img/s113 img/s

On SDK 1.9 a batch is what raises throughput, 2.7 times at batch=32, where 1.8 stays near 40 img/s at any batch size. Use a large batch for offline throughput and batch=1 when per-image latency matters. A second device adds little to predict: at batch=32 each image already spends about 4 ms in host-side preprocessing, as long as its time on the device.

Beyond predict#

For production requiring maximum throughput, the Axelera Voyager SDK offers:

  • Streaming inference pipelines that keep several frames in flight
  • Compiling one model across several cores
  • Tiled inferencing for higher-resolution cameras

Those paths skip the PyTorch pre- and post-processing that predict runs on the host. See the model-zoo for FPS benchmarks or contact Axelera for production support.

Known Issues#

Known Limitations
  • M.2 power limitations: Large or extra-large models may encounter runtime errors on M.2 accelerators due to power supply constraints.

For support, visit the Axelera Community.

FAQ#

  • The Voyager SDK supports export of YOLOv8, YOLO11, and YOLO26 models. See Supported Tasks for per-model task availability.

  • Yes. Any model trained using Ultralytics Train Mode can be exported to the Axelera format, provided it uses supported layers and operations.

  • Axelera's Voyager SDK automatically quantizes models for the mixed-precision AIPU architecture. For most object detection tasks, the performance gains (higher FPS, lower power) significantly outweigh the minimal impact on mAP. Quantization takes seconds to several hours depending on model size. Run yolo val after export to verify accuracy.

  • We recommend 100 to 400 images. More than 400 provides no additional benefit and increases quantization time. Experiment with 100, 200, and 400 images to find the optimal balance.

  • The SDK, drivers, and compiler tools are available via the Axelera Developer Portal.

Comments