Link to this sectionUltralytics YOLO Modelleri için DEEPX Dışa Aktarımı#
Bilgisayarlı görü modellerini özel NPU donanımı üzerinde çalıştırmak, uyumlu ve optimize edilmiş bir model formatı gerektirir. Ultralytics YOLO modellerini DEEPX formatına dışa aktarmak, DEEPX NPU hızlandırıcılarında verimli, INT8 nicelenmiş çıkarım yapmanı sağlar. Bu rehber, YOLO modellerini DEEPX formatına dönüştürme ve DEEPX destekli donanım üzerinde çalıştırma sürecinde sana yol gösterecektir.
Link to this sectionDEEPX nedir?#
DEEPX, uçta güç verimli derin öğrenme çıkarımı için tasarlanmış Sinir İşleme Birimleri (NPU'lar) konusunda uzmanlaşmış bir yapay zeka yarı iletken şirketidir. DEEPX NPU'lar, yüksek verimi minimum güç tüketimiyle sunarak zorlu gömülü ve endüstriyel yapay zeka uygulamaları için tasarlanmıştır. Donanımları; robotik, akıllı kameralar ve endüstriyel otomasyon sistemleri gibi bulut bağlantısının güvenilmez veya istenmeyen olduğu dağıtım senaryoları için çok uygundur.
Link to this sectionDEEPX Dışa Aktarma Formatı#
DEEPX dışa aktarımı, DEEPX NPU donanımı üzerinde çalıştırma için optimize edilmiş derlenmiş bir .dxnn model ikilisi üretir. Derleme hattı, INT8 nicelleştirme ve donanıma özel optimizasyon gerçekleştirmek için dx_com araç setini kullanır ve dağıtıma hazır, kendine yeten bir model dizini oluşturur.
Link to this sectionDEEPX Modellerinin Temel Özellikleri#
DEEPX modelleri, uç dağıtım için çeşitli avantajlar sunar:
- INT8 Nicelleştirme: Modeller, dışa aktarma sırasında INT8 hassasiyetine nicelenir, bu da model boyutunu önemli ölçüde azaltır ve NPU iş hacmini maksimize eder. Model nicelleştirme hakkında daha fazla bilgi edin.
- NPU İçin Optimize Edilmiş:
.dxnnformatı, hızlı ve verimli çıkarım için özel hızlandırma birimlerinden yararlanarak DEEPX NPU donanımı için özel olarak derlenmiştir. - Düşük Güç Tüketimi: Çıkarımı NPU'ya yükleyerek, DEEPX modelleri eşdeğer bir CPU veya GPU çıkarımından çok daha az güç tüketir.
- Kalibrasyon Tabanlı Doğruluk: Dışa aktarma işlemi, nicelleştirme sırasında doğruluk kaybını en aza indirmek için gerçek veri seti görüntüleri ile EMA tabanlı kalibrasyon kullanır.
- Kendine Yeten Çıktı: Dışa aktarılan model dizini; derlenmiş ikili dosyayı, kalibrasyon yapılandırmasını ve kolay dağıtım için gerekli meta verileri bir araya getirir.
Link to this sectionDesteklenen Görevler#
Tüm standart Ultralytics görevleri; YOLO26, YOLO11 ve YOLOv8 model aileleri genelinde DEEPX dışa aktarımı için desteklenmektedir.
| Görev | Desteklenen |
|---|---|
| Nesne Tespiti | ✅ |
| Örnek Bölütleme | ✅ |
| Anlamsal Bölütleme | ✅ |
| Poz Tahmini | ✅ |
| OBB Tespiti | ✅ |
| Sınıflandırma | ✅ |
Link to this sectionDEEPX'e Dışa Aktar: YOLO Modelini Dönüştürme#
Bir Ultralytics YOLO modelini DEEPX formatına dışa aktar ve dışa aktarılan model ile çıkarım çalıştır.
DEEPX dışa aktarımı yalnızca x86-64 Linux makinelerinde desteklenir. Dışa aktarma adımı için ARM64 (aarch64) desteklenmemektedir. Ancak, dışa aktarılan dxnn modelleri ARM64 platformlarında tamamen uyumlu ve çalıştırılabilirdir.
Link to this sectionKurulum#
Gerekli paketleri kurmak için şunu çalıştır:
# Install the required package for YOLO
pip install ultralyticsdx_com derleyici paketi, ilk dışa aktarma sırasında DEEPX SDK deposundan otomatik olarak kurulacaktır. Kurulum süreci ile ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum rehberimize göz at. YOLO için gerekli paketleri kurarken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar rehberimize bak.
Link to this sectionKullanım#
DEEPX formatı Dışa Aktarma, Tahmin ve Doğrulama modlarını destekler. Çıkarım ve doğrulama, DEEPX NPU donanımı üzerinde çalışır. Modelini dışa aktar, ardından çıkarım çalıştırmak veya doğruluğunu teyit etmek için dışa aktarılan modeli yükle.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to DEEPX format (int8=True is enforced automatically)
model.export(format="deepx") # creates 'yolo26n_deepx_model/'from ultralytics import YOLO
# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported DEEPX model
model = YOLO("yolo26n_deepx_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionDışa Aktarma Argümanları#
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
format | str | 'deepx' | Dışa aktarılan model için hedef format; DEEPX NPU donanımı ile uyumluluğu tanımlar. |
imgsz | int veya tuple | 640 | Model girişi için istenen görüntü boyutu. DEEPX dışa aktarımı kare bir giriş gerektirir — bir tamsayı (örneğin, 640) veya yüksekliğin genişliğe eşit olduğu bir demet (tuple) gir. |
int8 | bool | True | INT8 nicelleştirmeyi etkinleştirir. DEEPX dışa aktarımı için gereklidir — belirtilmezse otomatik olarak True olarak ayarlanır. |
data | str | 'coco8.yaml' | INT8 kalibrasyonu için kullanılan veri seti yapılandırma dosyası. Kalibrasyon görüntüsü kaynağını belirtir. |
device | str | None | Dışa aktarma için cihazı belirtir: GPU (device=0) veya CPU (device=cpu). |
optimize | bool | False | Çıkarım gecikmesini azaltan ve derleme süresini artıran daha yüksek derleyici optimizasyonunu etkinleştirir. |
DEEPX dışa aktarımını her zaman bir x86-64 Linux ana bilgisayarında çalıştır. dx_com derleyicisi ARM64'ü desteklemez.
Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma hakkındaki Ultralytics dokümantasyon sayfasına git.
Link to this sectionÇıktı Yapısı#
Başarılı bir dışa aktarmadan sonra, şu düzenle bir model dizini oluşturulur:
yolo26n_deepx_model/
├── yolo26n.dxnn # Compiled DEEPX model binary (NPU executable)
├── config.json # Calibration and preprocessing configuration
└── metadata.yaml # Model metadata (classes, image size, task, etc.).dxnn dosyası, dx_engine çalışma zamanının doğrudan NPU üzerinde yüklediği derlenmiş model ikilisidir. metadata.yaml ise Ultralytics çıkarım hattı tarafından kullanılan sınıf adlarını, görüntü boyutunu ve diğer bilgileri içerir.
Link to this sectionDışa Aktarılan YOLO DEEPX Modellerini Dağıtma#
Ultralytics YOLO modelini DEEPX formatına başarıyla dışa aktardıktan sonra, bir sonraki adım bu modelleri DEEPX NPU donanımı üzerinde dağıtmaktır.
Link to this sectionÇalışma Zamanı Kurulumu#
Çıkarım işlemi; DEEPX NPU sürücüsünü, libdxrt çalışma zamanını ve dx_engine Python paketini gerektirir.
DEEPX çalışma zamanı hem x86-64 Linux hem de ARM64'ü (örneğin, Raspberry Pi 5) destekler.
# Install the NPU driver and libdxrt runtime
sudo apt update
wget https://github.com/DEEPX-AI/dx_rt_npu_linux_driver/raw/main/release/2.4.1/dxrt-driver-dkms_2.4.1-2_all.deb
sudo apt install ./dxrt-driver-dkms_2.4.1-2_all.deb
wget https://github.com/DEEPX-AI/dx_rt/raw/main/release/3.3.2/libdxrt_3.3.2_all.deb
sudo apt install ./libdxrt_3.3.2_all.deb
# Create dx-engine wheel
cd /usr/share/libdxrt/python_package && sudo ./make_whl.sh
# Install the bundled dx_engine Python wheel
pip install dx_engine-*.whlÇalışma zamanının dxrt-cli --version komutuyla doğru şekilde kurulduğunu doğrula. Aşağıdakine benzer bir çıktı görmelisin:
DXRT v3.3.2
Minimum Driver Versions
Device Driver: v2.4.0
PCIe Driver: v2.2.0
Firmware: v2.5.2
Minimum Compiler Versions
Compiler: v1.18.1
.dxnn File Format: v6Çalışma zamanı kurulduğunda, çıkarım ve doğrulamayı DEEPX cihazında yukarıdaki Kullanım bölümünde gösterildiği gibi çalıştır — dışa aktarılan _deepx_model doğrudan YOLO(...) ile yüklenir.
Link to this sectiondxtron ile Görselleştirme#
dxtron, derlenmiş .dxnn modelini incelemek için kullanılan DEEPX'in grafik görselleştiricisidir.
x86-64 Linux üzerinde dxtron kurmak için DEEPX SDK'dan .deb paketini indir ve dpkg aracılığıyla kur:
wget https://sdk.deepx.ai/release/dxtron/v2.0.1/dxtron_2.0.1_amd64.deb
sudo dpkg -i dxtron_2.0.1_amd64.debArdından dışa aktardığın modeli aç:
dxtron yolo26n_deepx_model/yolo26n.dxnndxtron, hem x86-64 hem de aarch64 platformları için mevcuttur.
Link to this sectionKıyaslamalar#
Ultralytics ekibi, PyTorch ve DEEPX arasındaki hız ve doğruluğu karşılaştırarak YOLO26 modellerini kıyasladı.
| Model | Format | Durum | Boyut (MB) | metrics/mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|---|
| YOLO26n | PyTorch | ✅ | 5.3 | 0.4760 | 315.2 |
| YOLO26n | DEEPX | ✅ | 6.6 | 0.4660 | 34.6 |
| YOLO26n-seg | PyTorch | ✅ | 6.5 | 0.4080 | 485.4 |
| YOLO26n-seg | DEEPX | ✅ | 7.9 | 0.3920 | 53.8 |
| YOLO26n-pose | PyTorch | ✅ | 7.6 | 0.4230 | 506.3 |
| YOLO26n-pose | DEEPX | ✅ | 8.8 | 0.4590 | 37.6 |
| YOLO26n-obb | PyTorch | ✅ | 5.7 | 0.817 | 1094.4 |
| YOLO26n-obb | DEEPX | ✅ | 7.3 | 0.783 | 56.4 |
| Model | Format | Durum | Boyut (MB) | acc (top1) | acc (top5) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|---|---|
| YOLO26n-cls | PyTorch | ✅ | 5.6 | 0.431 | 0.716 | 23.8 |
| YOLO26n-cls | DEEPX | ✅ | 5.9 | 0.333 | 0.686 | 2.7 |
Yukarıdaki kıyaslamalar için doğrulama; tespit için coco128, segmentasyon için coco128-seg, poz tahmini için coco8-pose, sınıflandırma için imagenet100 ve OBB modelleri için dota128 kullanılarak yapıldı. Çıkarım süresi, ön/son işleme aşamalarını içermez.
Raspberry Pi 5'e bağlı DX-M1 NPU'dan en iyi çıkarım verimini almak için, önyükleme yapılandırma dosyasını aç ve PCIe Gen 3 desteğini etkinleştir.
sudo nano /boot/firmware/config.txtDosyanın sonuna aşağıdaki satırları ekle:
dtparam=pciex1
dtparam=pciex1_gen=3Kaydet ve çık (Ctrl+X, ardından Y, ardından Enter), sonra yeniden başlat:
sudo rebootPCIe neslini kontrol et. Beklenen hız, PCIe Gen3 için 8GT/s'dir.
sudo lspci -vvv | grep -iA 33 accelerators | grep -E "LnkCap|LnkSta"Link to this sectionÖnerilen İş Akışı#
- Modelini Ultralytics Eğitim Modu kullanarak Eğit
model.export(format="deepx")kullanarak DEEPX formatına Dışa Aktar- Minimum niceleme kaybını doğrulamak için
yolo valile doğruluğu Doğrula - Niteliksel doğrulama için
yolo predictkullanarak Tahmin Et - Dışa aktarılan
_deepx_model/dizininidx_engineçalışma zamanını kullanarak DEEPX NPU donanımına Dağıt
Link to this sectionGerçek Dünya Uygulamaları#
DEEPX NPU donanımı üzerinde çalıştırılan YOLO modelleri, çok çeşitli uç yapay zeka uygulamaları için oldukça uygundur:
- Akıllı Gözetim: Düşük güç tüketimi ve bulut bağımlılığı olmadan güvenlik ve izleme sistemleri için gerçek zamanlı nesne tespiti.
- Endüstriyel Otomasyon: Fabrika ortamlarında cihaz üzerinde kalite kontrol, kusur tespiti ve süreç izleme.
- Robotik: Otonom robotlar ve dronlarda görüntü tabanlı navigasyon, engel algılama ve nesne tanıma.
- Akıllı Tarım: Tarımda bilgisayarlı görü kullanarak ürün sağlığı takibi, haşere tespiti ve verim tahmini.
- Perakende Analitiği: Gerçek zamanlı uç çıkarımı ile müşteri akış analizi, raf izleme ve envanter takibi.
Link to this sectionÖzet#
In this guide, you've learned how to export Ultralytics YOLO models to DEEPX format and deploy them on DEEPX NPU hardware. The export pipeline uses INT8 calibration and the dx_com compiler to produce a hardware-optimized .dxnn binary, while the dx_engine runtime handles inference on the device.
Ultralytics YOLO ile DEEPX'in NPU teknolojisinin birleşimi, gömülü ve uç cihazlarda gelişmiş bilgisayarlı görü iş yüklerini çalıştırmak için etkili bir çözüm sunar; gerçek zamanlı uygulamalar için düşük güç tüketimiyle yüksek verimlilik sağlar.
Kullanımla ilgili daha fazla ayrıntı için DEEPX resmi web sitesini ziyaret et.
Ayrıca, diğer Ultralytics YOLO entegrasyonları hakkında daha fazla bilgi almak istersen, entegrasyon kılavuzu sayfamızı ziyaret et. Orada birçok yararlı kaynak ve bilgi bulacaksın.
Link to this sectionSSS#
Link to this sectionUltralytics YOLO modelimi DEEPX formatına nasıl aktarırım?#
Modelini Python'daki export() yöntemini kullanarak veya CLI üzerinden aktarabilirsin. Dışa aktarma işlemi otomatik olarak INT8 nicelemesini etkinleştirir ve doğruluk kaybını en aza indirmek için bir kalibrasyon veri kümesi kullanır. dx_com derleyici paketi, henüz yüklü değilse otomatik olarak kurulur.
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="deepx")Link to this sectionDEEPX dışa aktarımı neden INT8 nicelemesi gerektirir?#
DEEPX NPU'ları, INT8 hesaplamalarını maksimum verimlilikle yürütmek için tasarlanmıştır. dx_com derleyici, modelin tam performansını sunmasını sağlamak amacıyla gerçek veri kümesi görüntüleri içeren EMA tabanlı bir kalibrasyon kullanarak dışa aktarma sırasında modeli niceler. INT8, DEEPX dışa aktarımları için her zaman zorunludur; int8=False değerini geçersen, bu bir uyarıyla geçersiz kılınacaktır.
Link to this sectionDEEPX dışa aktarımı için hangi platformlar desteklenir?#
DEEPX model dışa aktarımı (derleme) bir x86-64 Linux ana bilgisayar gerektirir. Dışa aktarma adımı ARM64 (aarch64) ve Windows makinelerde desteklenmez. Dışa aktarılan .dxnn modeli kullanılarak yapılan çıkarım, dx_engine çalışma zamanının desteklediği herhangi bir Linux platformunda (x86-64 ve ARM64) çalıştırılabilir.
Link to this sectionBir DEEPX dışa aktarımının çıktısı nedir?#
Dışa aktarma işlemi şunları içeren bir dizin (örneğin, yolo26n_deepx_model/) oluşturur:
yolo26n.dxnn— derlenmiş NPU ikili dosyasıconfig.json— kalibrasyon ve ön işleme ayarlarımetadata.yaml— sınıf adları ve görüntü boyutu dahil olmak üzere model meta verileri
Link to this sectionÖzel eğitilmiş modelleri DEEPX donanımında dağıtabilir miyim?#
Evet. Ultralytics Eğitim Modu kullanılarak eğitilen ve format="deepx" ile dışa aktarılan herhangi bir model, desteklenen katman işlemlerini kullandığı sürece DEEPX NPU donanımında dağıtılabilir. Dışa aktarma; tespit, segmentasyon, poz tahmini, yönlendirilmiş sınırlayıcı kutu (OBB) ve sınıflandırma görevlerini destekler.
Link to this sectionDEEPX dışa aktarımı için kaç kalibrasyon görüntüsü kullanmalıyım?#
DEEPX dışa aktarma hattı, EMA kalibrasyon yöntemi ile kalibrasyon veri kümesindeki her görüntüyü kullanır. İyi bir niceleme doğruluğu için birkaç yüz görüntü genellikle yeterlidir. Büyük veri kümelerinde derleme süresi bir sorun haline gelirse data yolunu daha küçük bir veri kümesine yönlendir.
Link to this sectionÇıkarım için DEEPX çalışma zamanını nasıl kurarım?#
DEEPX çalışma zamanı ultralytics ile birlikte gelmez ve çıkarım çalıştırmadan önce ayrıca kurulmalıdır. x86-64 Linux makinelerde ve ARM64 Linux makinelerde (örneğin, Raspberry Pi 5), DEEPX-AI GitHub sürümlerinden NPU sürücüsünü (dxrt-driver-dkms) ve çalışma zamanını (libdxrt) kur, ardından paketlenmiş dx_engine Python wheel dosyasını yükle. Adım adım komutlar için yukarıdaki Çalışma Zamanı Kurulumu bölümüne bak.