Ultralytics YOLO27: Bekleme listesine katıl.
Get Started

Axelera AI ile Dışa Aktarım ve Dağıtım#

Ultralytics, Edge AI aygıtlarında yüksek performanslı ve enerji verimli çıkarım olanağı sunmak için Axelera AI ile iş ortaklığı yapıyor. Ultralytics YOLO modellerini doğrudan Metis® AIPU'ya Voyager SDK ile dışa aktar ve dağıt.

YOLO için Axelera AI uç dağıtım ekosistemi

Axelera AI, özel bir veri akışı mimarisi ve bellek içi bilgi işlem kullanarak uçta bilgisayarlı görü için özel donanım hızlandırması sağlar; düşük güç tüketimiyle 856 TOPS'a kadar performans sunar.

Doğru Donanımı Seçme#

Axelera AI, farklı dağıtım kısıtlarına uygun çeşitli form faktörleri sunar. Aşağıdaki grafik, Ultralytics YOLO dağıtımın için en uygun donanımı belirlemene yardımcı olur.

Donanım Ürün Yelpazesi#

Axelera donanım ürün serisi, yüksek FPS/watt verimliliğiyle Ultralytics YOLO26 ve eski sürümleri çalıştırmak üzere optimize edilmiştir.

Hızlandırıcı Kartlar#

Bu kartlar, mevcut ana makine aygıtlarında AI hızlandırması sağlayarak brownfield dağıtımlarını kolaylaştırır.

ÜrünForm FaktörüHesaplamaPerformans (INT8)Hedef Uygulama
Metis PCIe x4PCIe Gen3 x164x Metis AIPU856 TOPSYüksek yoğunluklu video analitiği, akıllı şehirler
Metis PCIe x1PCIe Gen3 x11x Metis AIPU214 TOPSEndüstriyel bilgisayarlar, perakende kuyruk yönetimi
Metis M.2M.2 2280 M-Key1x Metis AIPU214 TOPSDronlar, robotik, taşınabilir tıbbi aygıtlar
Metis M.2 MAXM.2 22801x Metis AIPU214 TOPSGelişmiş termal yönetim gerektiren ortamlar

Entegre Sistemler#

Kullanıma hazır çözümler sunmak için Axelera, Metis AIPU için önceden doğrulanmış sistemler sağlayan üreticilerle iş ortaklığı yapar.

  • Metis Compute Board: Metis AIPU'yu Rockchip RK3588 ARM CPU ile bir araya getiren bağımsız bir uç aygıt.
  • İş istasyonları: Dell (Precision 3460XE) ve Lenovo'nun (ThinkStation P360 Ultra) kurumsal masaüstü bilgisayarları.
  • Endüstriyel bilgisayarlar: Üretim otomasyonu için tasarlanmış, sağlamlaştırılmış Advantech ve Aetina sistemleri.

Desteklenen Görevler#

Axelera dışa aktarımı, Ultralytics'in yedi görevinin tümünü destekler. Anlamsal segmentasyon ve derinlik tahmini yalnızca bu başlıkları içeren tek aile olan YOLO26 ile kullanılabilir.

YOLO26 algılama, örnek segmentasyonu, poz ve OBB modelleri, NMS içermeyen bire bir başlıklarını varsayılan olarak dışa aktarır ve Axelera çalışma zamanı bu başlığı ana bilgisayarda çözümler. nms=True seçeneğini kullanmak, bunun yerine bire çok başlığını dışa aktarır; bu başlık Metis'te daha düşük performans gösterir: YOLO26n algılama modeli, bu şekilde COCO128 üzerinde mAP50-95 açısından 0.212 elde ederken NMS içermeyen başlıkla 0.453 elde eder.

GörevYOLOv8YOLO11YOLO26
Algılama✅✅✅
Segmentasyon✅✅✅
Anlamsal❌❌✅
Derinlik❌❌✅
Sınıflandırma✅✅✅
Poz✅✅✅
OBB✅✅✅
Derinlik modellerini kendi sahnelerinden alınan görüntülerle kalibre et

Nicemleme aralıkları kalibrasyon görüntülerinden elde edilir ve derinlik için varsayılan depth8.yaml, dört iç mekân karesi içerir. NYU Depth V2 doğrulama bölümündeki 654 görüntü üzerinde, bu varsayılanla kalibre edilen YOLO26n derinlik modeli Metis'te delta1 0.742 puan alırken PyTorch modeli 0.783 puan alır; NYU eğitim verilerinden alınan 100 kare ise 0.780 puan verir. data= değerini, val bölümü modelin göreceği sahnelerden en az 100 görüntü içeren bir veri kümesi YAML dosyasıyla ilet; kalibrasyon val bölümünü okur.

Kurulum#

Platform Gereksinimleri

Axelera biçimine dışa aktarım için gerekenler:

  • İşletim Sistemi: Yalnızca Linux (Ubuntu 22.04/24.04 önerilir)
  • Donanım: Axelera AI hızlandırıcısı (Metis aygıtları)
  • Python: 3.10, 3.11, 3.12 ve 3.13 sürümleri
  • PyTorch: torch>=2.8,<2.15
  • Voyager SDK: 1.9.0; dışa aktarma bu devkit sürümünü, çıkarım ise bu çalışma zamanı sürümünü yükler
  • Metis çekirdek sürücüsü: metis-dkms 1.7.0 veya üzeri; pip paketinden ayrı yüklenir
  • Sistem bağımlılığı: sudo apt install libgl1 (OpenCV tarafından gereklidir, pip aracılığıyla yüklenmez)

Ultralytics Kurulumu#

pip install ultralytics

Ayrıntılı talimatlar için Ultralytics Kurulum kılavuzumuza bak. Sorun yaşarsan Yaygın Sorunlar kılavuzumuza göz at.

Axelera Sürücüsünün Kurulumu#

  1. Axelera deposu anahtarını ekle:

    sudo sh -c "curl -fsSL https://software.axelera.ai/artifactory/api/security/keypair/axelera/public | gpg --dearmor -o /etc/apt/keyrings/axelera.gpg"
  2. Depoyu apt'ye ekle:

    Kullanılan işletim sistemine uygun aşağıdaki kod parçacığını seç.

    # 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. Sürücüyü yükle ve etkinleştir. SDK 1.9, metis-dkms 1.7.0 veya üzerini gerektirir; bu nedenle burada en yeni sürüm yüklenir:

    sudo apt update
    sudo apt install -y metis-dkms
    sudo modprobe metis
Çekirdek sürücüsünü SDK ile eşzamanlı tut

Çekirdek sürücüsü, Python SDK paketlerinden ayrı yüklenir; bu nedenle SDK'yı yükselttikten sonra sürücüyü de SDK'nın asgari sürümüne yükseltmen gerekir — SDK 1.9 için bu sürüm 1.7.0'dır. Yükleme sırasında bu gereksinimi denetleyen bir mekanizma yoktur ve asgari sürümden eski bir sürücü aygıtı kullanılamaz hâle getirir: axdevice gerekli sürümü bildirir ve aygıtı açamaz.

[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

Ayrıca 3. Adım: Metis çekirdek sürücüsünü yükle bölümüne bak. Ubuntu'da daha eski bir SDK kullanıyorsan sürücüyü güncelle ve çekirdek modülünü yeniden yükle (yeniden başlatma gerekmez):

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

Ardından aygıtın algılandığını doğrulamak için axdevice komutunu yeniden çalıştır.

İlk çalıştırmada SDK otomatik indirilir

Axelera modeliyle ilk yolo export format=axelera veya yolo predict çalıştırması, Axelera SDK paketlerini otomatik olarak indirip yükler. Bağlantı hızına bağlı olarak bu işlem birkaç dakika sürebilir ve indirme sırasında ilerleme gösterilmez. Önceden elle yüklemek için:

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
SDK 1.8 ile dışa aktarılan modeller çalışmaya devam eder

SDK 1.9, derlenmiş .axm model biçiminin sürümünü yükseltmez; bu nedenle 1.8 ile dışa aktarılan _axelera_model dizini değişiklik yapılmadan yüklenir ve çalıştırılır. Yalnızca derleyici iyileştirmelerinden yararlanmak için yeniden dışa aktar.

Biçim sürümünü yükselten bir SDK, eski dizinleri yükleme sırasında reddeder; 1.7 veya önceki bir sürümden yükseltme yapıldığında görülen durum budur:

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

YOLO Modellerini Axelera'ya Dışa Aktarma#

Axelera biçimi Dışa Aktar, Tahmin ve Doğrula kiplerini destekler. Çıkarım ve doğrulama, Axelera Metis AIPU donanımında çalışır. Modelini dışa aktar, ardından çıkarım yapmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle.

Dışa aktar
from ultralytics import YOLO

# YOLO26 modelini yükle
model = YOLO("yolo26n.pt")

# Modeli Axelera biçimine dışa aktar
model.export(format="axelera")  # creates 'yolo26n_axelera_model'
Tahmin
from ultralytics import YOLO

# Dışa aktarılan Axelera modelini yükle
model = YOLO("yolo26n_axelera_model")

# Çıkarımı çalıştır
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

# Dışa aktarılan Axelera modelini yükle
model = YOLO("yolo26n_axelera_model")

# COCO8 veri kümesinde doğruluğu doğrula
metrics = model.val(data="coco8.yaml")

Dışa Aktarma Bağımsız Değişkenleri#

Bağımsız değişkenTürVarsayılanAçıklama
formatstr'axelera'Axelera Metis AIPU donanımı için hedef biçim.
imgszint veya tuple640Model girdisinin görüntü boyutu.
batch*int1Kalibrasyon toplu iş boyutu. Derlenmiş model, her seferinde tek bir görüntü alır.
quantizeint veya str8/otomatikNiceleme hassasiyeti. Axelera AIPU için 8 (INT8) gereklidir ve otomatik olarak etkinleştirilir. Kullanımdan kaldırılan half/int8 bayraklarının yerini alır. INT8 niceleme bölümüne bak.
datastrNoneKalibrasyon veri kümesi YAML dosyası; sınıflandırma için bunun yerine bir veri kümesi dizini veya yerleşik veri kümesi adı kullanılır. Belirtilmezse Ultralytics, göreve özgü bir kalibrasyon veri kümesi seçer.
fractionfloat, int veya list1.0Kalibrasyon alt kümesini oran, görüntü sayısı veya [train, val, test] oranları/sayıları olarak belirt. İki öğeli listelerde test tam bırakılırken 0 atlanır (100-400 görüntü önerilir).
devicestrNoneDışa aktarma aygıtı: GPU (device=0) veya CPU (device=cpu).

* Modeller tek bir görüntü için derlenir; bu nedenle dışa aktarma sırasında batch yalnızca kalibrasyon toplu iş boyutunu belirler. Bunun yerine, Axelera zamanlayıcısına aynı anda birden fazla görüntü vermek için batch değerini predict öğesine ilet (Voyager SDK 1.8.0 veya üzeri): Maksimum Performans bölümüne bak.

Tüm dışa aktarma seçenekleri için Dışa Aktarma Kipi belgelerine bak.

Çıktı Yapısı#

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 Karşılaştırmaları#

Metis AIPU, enerji tüketimini en aza indirirken verimi en üst düzeye çıkarır.

ModelMetis PCIe FPS (saniyedeki kare sayısı)Metis M.2 FPS (saniyedeki kare sayısı)
YOLOv8n847771
YOLO11n746574
YOLO26n648.6484.9

Karşılaştırmalar Axelera AI verilerine dayanır. Gerçek FPS; model boyutuna, toplu işlemeye ve giriş çözünürlüğüne bağlıdır.

Bunlar, Voyager SDK'nın akış hattı kullanılarak 720p video dosyası üzerinde model zoo tarafından ölçülen ana makine verim değerleridir. Tek bir predict çağrısı bunun yerine görüntü başına gecikmeyi bildirir; bu farklı bir ölçümdür.

Gerçek Dünya Uygulamaları#

Ultralytics YOLO'nun Axelera donanımında kullanılması, gelişmiş uç bilişim çözümlerini mümkün kılar:

  1. Ultralytics Train Mode ile modelini eğit
  2. model.export(format="axelera") kullanarak Axelera biçimine aktar
  3. Nicemleme kaybının en aza indirildiğini doğrulamak için yolo val ile doğruluğu doğrula
  4. Nitel doğrulama için yolo predict kullanarak tahmin yap
  5. PyTorch bağımlılığı olmadan yüksek performanslı uçtan uca bir işlem hattına dağıt — axelera-rt kullanan birleştirilebilir Python işlem hatları için Voyager SDK'da YOLO örneklerine göz at

Cihaz Durum Denetimi#

Axelera cihazının düzgün çalıştığını doğrula:

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

Ayrıntılı tanılama için AxDevice belgelerine göz at.

Maksimum Performans#

Modeller tek bir görüntü için derlenir ve tek bir görüntü bir AIPU çekirdeğinde çalışır. Birden fazla görüntüyü Predict öğesine ilettiğinde Axelera zamanlayıcısı bu görüntüleri birlikte alır ve aygıtın çekirdeklerine dağıtır:

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

Metis PCIe üzerinde bir dizindeki 128 COCO128 görüntüsü için, üç çalıştırmanın medyanı olan yolo26n değerinin imgsz=640 konumundaki sonucu:

Voyager SDKAygıtlarbatch=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

SDK 1.9'da aktarım hızını artıran şey toplu iş boyutudur; batch=32 değerinde artış 2,7 kattır; 1.8 ise her toplu iş boyutunda yaklaşık 40 img/s düzeyinde kalır. Çevrimdışı aktarım hızı için büyük bir toplu iş boyutu, görüntü başına gecikmenin önemli olduğu durumlarda ise batch=1 kullan. İkinci bir aygıt, predict değerine çok az katkı sağlar: batch=32 değerinde her görüntü, aygıtta geçirdiği süre kadar, ana bilgisayar tarafındaki ön işlemede yaklaşık 4 ms harcar.

predict ötesinde#

Maksimum verim gerektiren üretim ortamları için Axelera Voyager SDK şunları sunar:

  • Birden fazla kareyi işlemde tutan akışlı çıkarım işlem hatları
  • Tek bir modeli birden fazla çekirdekte derleme
  • Daha yüksek çözünürlüklü kameralar için döşemeli çıkarım

Bu yollar, predict tarafından ana bilgisayarda gerçekleştirilen PyTorch ön ve son işlem adımlarını atlar. FPS karşılaştırmaları için model-zoo sayfasına bak veya üretim desteği için Axelera ile iletişime geç.

Bilinen Sorunlar#

Bilinen Sınırlamalar
  • M.2 güç sınırlamaları: Büyük veya ekstra büyük modeller, güç kaynağı kısıtlamaları nedeniyle M.2 hızlandırıcılarda çalışma zamanı hatalarıyla karşılaşabilir.

Destek için Axelera Community sayfasını ziyaret et.

Sık Sorulan Sorular#

  • Voyager SDK, YOLOv8, YOLO11 ve YOLO26 modellerinin dışa aktarımını destekler. Model başına görev kullanılabilirliği için Desteklenen Görevler sayfasına göz at.

  • Evet. Ultralytics Train Mode kullanılarak eğitilen her model, desteklenen katmanları ve işlemleri kullanması koşuluyla Axelera biçimine aktarılabilir.

  • Axelera'nın Voyager SDK'sı, karma hassasiyetli AIPU mimarisi için modelleri otomatik olarak nicemler. Çoğu nesne tespiti görevinde performans kazanımları (daha yüksek FPS, daha düşük güç tüketimi), mAP üzerindeki minimum etkiyi fazlasıyla telafi eder. Nicemleme, model boyutuna bağlı olarak birkaç saniyeden birkaç saate kadar sürer. Doğruluğu doğrulamak için dışa aktarma işleminden sonra yolo val komutunu çalıştır.

  • 100 ila 400 görüntü kullanmanı öneririz. 400'den fazlası ek fayda sağlamaz ve nicemleme süresini artırır. En uygun dengeyi bulmak için 100, 200 ve 400 görüntüyle denemeler yap.

  • SDK, sürücüler ve derleyici araçları Axelera Developer Portal üzerinden edinilebilir.

Yorumlar