Ultralytics YOLO27:

Export und Bereitstellung mit Axelera AI#

Ultralytics arbeitet mit Axelera AI zusammen, um leistungsstarke und energieeffiziente Inferenz auf Edge-AI-Geräten zu ermöglichen. Exportiere und stelle Ultralytics YOLO-Modelle direkt auf der Metis® AIPU mit dem Voyager SDK bereit.

Axelera-AI-Ökosystem für die YOLO-Bereitstellung am Netzwerkrand

Axelera AI bietet dedizierte Hardwarebeschleunigung für Computer Vision am Netzwerkrand. Dabei kommen eine proprietäre Datenflussarchitektur und In-Memory-Computing zum Einsatz, um bei geringem Stromverbrauch bis zu 856 TOPS zu erreichen.

Die richtige Hardware auswählen#

Axelera AI bietet verschiedene Formfaktoren für unterschiedliche Anforderungen bei der Bereitstellung. Die folgende Übersicht hilft dir, die optimale Hardware für deine Bereitstellung von Ultralytics YOLO zu bestimmen.

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

Hardwareportfolio#

Die Axelera-Hardware wurde für die effiziente Ausführung von Ultralytics YOLO26 und älteren Versionen mit hoher FPS-pro-Watt-Effizienz optimiert.

Beschleunigerkarten#

Diese Karten ermöglichen die AI-Beschleunigung in vorhandenen Hostgeräten und erleichtern Brownfield-Bereitstellungen.

ProduktFormfaktorRechenleistungLeistung (INT8)Zielanwendung
Metis PCIe x4PCIe Gen3 x164x Metis AIPUs856 TOPSHochdichte Videoanalyse, Smart Cities
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSIndustrie-PCs, Warteschlangenmanagement im Einzelhandel
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDrohnen, Robotik, tragbare medizinische Geräte
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSUmgebungen mit erweiterten Anforderungen an das Wärmemanagement

Integrierte Systeme#

Für schlüsselfertige Lösungen arbeitet Axelera mit Herstellern zusammen, um für die Metis AIPU vorab validierte Systeme bereitzustellen.

  • Metis Compute Board: Ein eigenständiges Edge-Gerät, das die Metis AIPU mit einer Rockchip RK3588 ARM-CPU kombiniert.
  • Workstations: Enterprise-Tower von Dell (Precision 3460XE) und Lenovo (ThinkStation P360 Ultra).
  • Industrie-PCs: Robuste Systeme von Advantech und Aetina, die für die Fertigungsautomatisierung entwickelt wurden.

Unterstützte Aufgaben#

Tiefenschätzung wird nicht unterstützt: Der Tiefenkopf gibt Operatoren aus, die der Metis AIPU-Compiler nicht kompilieren kann. YOLO26-Instanzsegmentierung wird von Ultralytics export ebenfalls nicht unterstützt, kann jedoch wie unten beschrieben über das Voyager SDK bereitgestellt werden. YOLO26-Semantiksegmentierung wird unterstützt.

AufgabeYOLOv8YOLO11YOLO26
Erkennen
Segmentieren
Semantisch
Tiefe
Klassifizieren
Pose
OBB
Hinweis

YOLO26-Instanzsegmentierung wird über den Befehl Ultralytics export noch nicht unterstützt. Benutzer, die yolo26-seg benötigen, können die Bereitstellung über das Voyager SDK mit deploy.py durchführen, was eine Workaround-Lösung im Userspace bereitstellt. Native Compiler-Unterstützung wird in einem zukünftigen Release hinzugefügt.

Installation#

Plattformanforderungen

Der Export in das Axelera-Format erfordert:

  • Betriebssystem: Nur Linux (Ubuntu 22.04/24.04 empfohlen)
  • Hardware: Axelera-AI-Beschleuniger (Metis-Geräte)
  • Python: Versionen 3.10, 3.11, 3.12 und 3.13
  • PyTorch: torch>=2.8,<2.13
  • Voyager SDK: 1.8.0; Export installiert diese Devkit-Version und die Inferenz installiert diese Laufzeitversion
  • Metis-Kernel-Treiber: metis-dkms 1.6.2 oder neuer, separat von pip installiert
  • Systemabhängigkeit: sudo apt install libgl1 (von OpenCV benötigt, nicht über pip enthalten)

Installation von Ultralytics#

pip install ultralytics

Ausführliche Anweisungen findest du in unserem Ultralytics-Installationsleitfaden. Wenn du auf Schwierigkeiten stößt, konsultiere unseren Leitfaden zu häufigen Problemen.

Installation des Axelera-Treibers#

  1. Füge den Schlüssel des Axelera-Repositorys hinzu:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. Füge das Repository zu apt hinzu:

    Wähle unten den passenden Abschnitt für das verwendete Betriebssystem aus.

    # 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. Installiere den Treiber und lade ihn. SDK 1.8 benötigt metis-dkms 1.6.2 oder neuer, daher wird hier die neueste Version installiert:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Halte den Kernel-Treiber mit dem SDK synchron

Der Kernel-Treiber wird separat von den Python-SDK-Paketen installiert. Nach einem Upgrade des SDK musst du den Treiber daher ebenfalls auf das Minimum dieses SDKs anbringen – 1.6.2 für SDK 1.8. Nichts überprüft dies zum Installationszeitpunkt, und ein Treiber unter dem Minimum führt dazu, dass das Gerät nicht verfügbar ist: axdevice meldet die erforderliche Version und schlägt fehl, wenn versucht wird, das Gerät zu öffnen.

[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

Siehe auch Schritt 3: Metis-Kernel-Treiber installieren. Wenn du bereits ein älteres SDK auf Ubuntu ausführen, aktualisiere den Treiber und lade das Kernel-Modul neu (kein Neustart erforderlich):

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

Führe anschließend axdevice erneut aus, um zu bestätigen, dass das Gerät erkannt wird.

Beim ersten Start wird das SDK automatisch heruntergeladen

Beim ersten yolo export format=axelera oder yolo predict mit einem Axelera-Modell werden die Axelera-SDK-Pakete automatisch heruntergeladen und installiert. Je nach Verbindungsgeschwindigkeit kann dies mehrere Minuten dauern; während des Downloads wird kein Fortschritt angezeigt. So installierst du sie vorher manuell:

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
Ein SDK-Upgrade macht bestehende exportierte Modelle ungültig

SDK 1.8 erhöht die kompilierte .axm-Modellformatversion, sodass _axelera_model-Verzeichnisse, die mit einem älteren SDK erstellt wurden, beim Laden abgelehnt werden. Exportiere jedes Modell nach dem Upgrade erneut:

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

YOLO-Modelle nach Axelera exportieren#

Das Axelera-Format unterstützt die Modi Export, Predict und Validate. Inferenz und Validierung werden auf Axelera-Metis-AIPU-Hardware ausgeführt. Exportiere dein Modell und lade anschließend das exportierte Modell, um Inferenz auszuführen oder seine Genauigkeit zu validieren.

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'
Vorhersage
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Validieren
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")

Exportargumente#

ArgumentTypStandardwertBeschreibung
formatstr'axelera'Zielformat für Axelera-Metis-AIPU-Hardware.
imgszint oder tuple640Bildgröße für die Modelleingabe.
batch*int1Legt die Batchgröße für die Inferenz des exportierten Modells oder die maximale Anzahl der Bilder fest, die das exportierte Modell im Modus predict gleichzeitig verarbeitet.
quantizeint oder str8/autoQuantisierungsgenauigkeit. 8 (INT8) ist erforderlich und wird für die Axelera AIPU automatisch aktiviert. Ersetzt die veralteten Flags half/int8. Siehe INT8-Quantisierung.
datastrNoneYAML-Datei des Kalibrierungsdatensatzes; bei der Klassifizierung wird stattdessen ein Datensatzverzeichnis oder der Name eines integrierten Datensatzes verwendet. Wenn keine Angabe erfolgt, wählt Ultralytics einen aufgabenspezifischen Kalibrierungsdatensatz aus.
fractionfloat, int oder list1.0Kalibrierungsanteil als Verhältnis, Bildanzahl oder [train, val, test]-Verhältnisse/-Anzahlen. Zweielementige Listen lassen test vollständig, während 0 es überspringt (100–400 Bilder empfohlen).
devicestrNoneExportgerät: GPU (device=0) oder CPU (device=cpu).

* Die Inferenz mit batch>1 erfordert das Voyager SDK 1.8.0 oder neuer; Modelle werden für ein einzelnes Bild kompiliert.

Alle Exportoptionen findest du in der Dokumentation zum Exportmodus.

Ausgabestruktur#

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#

Die Metis AIPU maximiert den Durchsatz bei gleichzeitiger Minimierung des Energieverbrauchs.

ModellMetis PCIe FPS (Bilder pro Sekunde)Metis M.2 FPS (Bilder pro Sekunde)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Benchmarks auf Grundlage von Daten von Axelera AI. Die tatsächliche FPS hängt von Modellgröße, Batchverarbeitung und Eingabeauflösung ab.

Dies sind Host-Durchsatzwerte, gemessen vom Model Zoo mit der Streaming-Pipeline des Voyager SDK über eine 720p-Videodatei. Ein einzelner predict-Aufruf meldet stattdessen die Latenz pro Bild, was eine andere Größe ist.

Anwendungen in der Praxis#

Ultralytics YOLO auf Axelera-Hardware ermöglicht fortschrittliche Lösungen für die Datenverarbeitung am Netzwerkrand:

Empfohlener Arbeitsablauf#

  1. Trainiere dein Modell mit dem Trainingsmodus von Ultralytics.
  2. Exportiere es mit model.export(format="axelera") in das Axelera-Format.
  3. Validiere die Genauigkeit mit yolo val, um einen minimalen Quantisierungsverlust zu überprüfen.
  4. Führe Vorhersagen aus mit yolo predict zur qualitativen Validierung.
  5. Stelle das Modell ohne PyTorch-Abhängigkeit in einer leistungsstarken End-to-End-Pipeline bereit – siehe die YOLO-Beispiele für das Voyager SDK für kombinierbare Python-Pipelines mit axelera-rt.

Zustandsprüfung des Geräts#

Überprüfe, ob dein Axelera-Gerät ordnungsgemäß funktioniert:

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

Ausführliche Diagnoseinformationen findest du in der AxDevice-Dokumentation.

Maximale Leistung#

Modelle werden für ein einzelnes Bild kompiliert. Das Übergeben mehrerer Bilder an Predict leitet diese durch den Axelera-Planer (Voyager SDK 1.8 oder neuer), sodass batch>1 korrekt ausgeführt wird, obwohl es Ende-zu-Ende auf einem einzelnen Gerät gemessen nicht schneller als batch=1 ist:

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

Für die Produktion, die maximalen Durchsatz erfordert, bietet das Axelera Voyager SDK:

  • Streaming-Inferenz-Pipelines, die mehrere Frames gleichzeitig verarbeiten
  • Kompilierung eines Modells über mehrere Kerne hinweg
  • Kachelbasierte Inferenz für Kameras mit höherer Auflösung

FPS-Benchmarks findest du im model-zoo; für Support im Produktionseinsatz kontaktiere Axelera.

Bekannte Probleme#

Bekannte Einschränkungen
  • Leistungsbeschränkungen bei M.2: Bei großen oder besonders großen Modellen können auf M.2-Beschleunigern aufgrund von Einschränkungen der Stromversorgung Laufzeitfehler auftreten.

Support findest du in der Axelera Community.

FAQ#

  • Das Voyager SDK unterstützt den Export von YOLOv8-, YOLO11- und YOLO26-Modellen. Unter Unterstützte Aufgaben findest du die Verfügbarkeit der Aufgaben für die einzelnen Modelle.

  • Ja. Jedes Modell, das mit dem Trainingsmodus von Ultralytics trainiert wurde, kann in das Axelera-Format exportiert werden, sofern es unterstützte Layer und Operationen verwendet.

  • Das Voyager SDK von Axelera quantisiert Modelle automatisch für die AIPU-Architektur mit gemischter Präzision. Bei den meisten Aufgaben zur Objekterkennung überwiegen die Leistungsgewinne (höhere FPS, geringerer Stromverbrauch) die minimale Auswirkung auf den mAP deutlich. Die Quantisierung dauert je nach Modellgröße einige Sekunden bis mehrere Stunden. Führe nach dem Export yolo val aus, um die Genauigkeit zu überprüfen.

  • Wir empfehlen 100 bis 400 Bilder. Mehr als 400 Bilder bieten keinen zusätzlichen Nutzen und verlängern die Quantisierungsdauer. Probiere 100, 200 und 400 Bilder aus, um das optimale Gleichgewicht zu finden.

  • Das SDK, die Treiber und die Compilerwerkzeuge sind über das Axelera Developer Portal verfügbar.

Kommentare