Skip to main content

Voyager SDK

The Voyager SDK makes it easy to build high-performance inferencing applications with Axelera AI Metis devices.

important

This is a production-ready release of Voyager SDK. Software components and features that are in development are marked [Beta] indicating tested functionality that will continue to grow in future releases or [Experimental] indicating early-stage feature with limited testing.

Finding your way around

Getting Started walks you through hardware installation and verifying your setup. Start here if this is your first time with a Metis device.

User Guides cover day-to-day tasks: installing the SDK, running your first inference, updating firmware, working with LLMs, and monitoring your device. These are step-by-step and assume no prior experience with the SDK.

Tutorials go deeper: video sources, custom weights, cascaded pipelines, Python API usage, and code examples you can run and modify. Come here once you're up and running and want to build something.

Model Zoo lists every pre-trained model in this release with performance data, supported tasks, and licensing. Use it to find the right model for your application.

Reference is the technical detail: CLI tools, pipeline configuration, compiler options, API specifications, and system internals. Look things up here when you need exact flags, parameters, or architecture details.

Glossary defines the terms used throughout — AIPU, pipeline, mAP, and other SDK-specific vocabulary.


Install SDK and get started

DocumentDescription
Hardware installationInstall your Metis M.2, PCIe or Compute Board
SDK installationClone the repo, run the installer, activate your environment
Verify setupConfirm the device is detected and the stack is working
Windows setupInstall Voyager SDK and run a model in Windows 11 (WSL2 + native)
AxDevice manualLists all Metis boards connected to your system and configures their settings
Firmware updateUpdate your board firmware

Deploy models on Metis devices

DocumentDescription
Model zooAll models supported by this release of the Voyager SDK
Deployment manual (deploy.py)All options provided by the command-line deployment tool
Custom weightsDeploy a model using your own weights
Custom modelDeploy a custom model architecture
Compiler CLICompiler Command Line Interface [beta]
Compiler APIPython Compiler API [experimental]
Compiler configurationTOML and Python configuration options

Run models on Metis devices

DocumentDescription
First inferenceRun object detection on a camera or video file
Run inference in PythonInferenceStream API with worked examples
Video sourcesCameras, RTSP streams, video files, and multiple inputs
Measure accuracyBenchmark a model against a validation dataset
Inferencing manual (inference.py)All options provided by the command-line inferencing tool
Cascaded pipelinesChain models together (e.g. detect then classify)
LLM inferenceRun Language Models on Metis devices [experimental]

Two ways to build pipelines

The Voyager SDK provides two pipeline approaches. Use whichever fits your workflow, or combine them.

YAML PipelinePipeline Builder [Experimental]
Best forProduction deployment, standard workflowsCustom inter-stage logic, rapid prototyping
Define pipelines inYAML configuration filesPython code (axelera.runtime.op)
StrengthsOptimized GStreamer throughput, battle-testedComposable operators, Jupyter-friendly, full Python control
MaturityStable — production systems run on this todayCore operators stable; cascade and streaming APIs in development

Hybrid approach: Many teams use YAML pipelines for primary inference (detection, segmentation) via InferenceStream, then hand off to Pipeline Builder operators for tracking, filtering, and custom business logic in Python.

Application integration APIs

The Voyager SDK allows you to develop inferencing pipelines and end-user applications at different levels of abstraction.

APIDescription
Pipeline BuilderPythonic API for composable ML pipelines using axelera.runtime.op operators [experimental]
InferenceStream (high level)Python library for reading pipeline image and inference metadata from within your application
AxRuntime (low level)Python API for manually constructing, configuring and executing pipelines
GStreamer pluginsPlugins for integrating Metis inferencing within a GStreamer pipeline

Code examples

Complete, runnable examples demonstrating different integration patterns.

ExampleWhat it shows
Application (basic)Simplest InferenceStream integration
Application (extended)Runtime telemetry, hardware decoding, dynamic render settings
Application (tensor)Direct tensor access for custom post-processing
AxInferenceNet (basic)C++ low-level model integration
AxInferenceNet (cascaded)C++ cascaded model pipeline
AxInferenceNet (tensor)C++ direct tensor access
ClassificationImage classification with generator-based input
Cross-line countingVehicle counting across a virtual line
Multiple pipelinesDynamic pipeline management and hot-swapping
Remote monitorTCP broadcast of real-time JSON telemetry

Reference

DocumentDescription
Pipeline basicsHow inference pipelines work
Model formatsThe model.json file and compiled output structure
YAML operatorsPipeline operators for YAML configuration
GStreamer operatorsGStreamer pipeline plugins reference
Inference configurationAdvanced inference settings
Compiler configuration referenceFull compiler config field reference
ONNX operator supportONNX operators supported by the Axelera AI compiler
Model adaptersCustom dataset adapters and evaluators
Additional modelsModels beyond the standard zoo
AxRunmodelRun deployed models with DMA buffers, double buffering, multiple cores
install.shInstaller options and what it installs
HardwareMetis hardware specifications and capabilities
Environment variablesSDK environment variables reference
Virtual environmentsWhy activation is required and how it works
Thermal and powerThermal behavior, power management, and monitoring
AxMonitorReal-time device monitoring tool
PerformancePerformance benchmarking methodology
Accuracy metricsUnderstanding mAP, precision, recall
GlossaryDefinitions for terms used throughout the SDK docs

Support