Hızlı Başlangıç Kılavuzu: Ultralytics YOLO26 ile NVIDIA Jetson#
Bu kapsamlı kılavuz, Ultralytics YOLO26'i NVIDIA Jetson cihazlarında dağıtmak için ayrıntılı bir uygulama süreci sunar. Ayrıca YOLO26'in bu küçük ve güçlü cihazlardaki yeteneklerini göstermek için performans karşılaştırmalarına yer verir.
Bu kılavuzu, 2070 FP4 TFLOPS'a kadar AI işlem gücü ve 40 W ile 130 W arasında yapılandırılabilen güçle 128 GB bellek sunan en yeni NVIDIA Jetson AGX Thor Developer Kit ile güncelledik. NVIDIA Jetson AGX Orin'e kıyasla 7,5 katın üzerinde daha yüksek AI işlem gücü ve 3,5 kat daha iyi enerji verimliliği sunarak en popüler AI modellerini sorunsuzca çalıştırır.
Watch: How to use Ultralytics YOLO26 on NVIDIA Jetson Devices

Bu kılavuz, en son kararlı JetPack 7.2 sürümünü çalıştıran NVIDIA Jetson AGX Thor Developer Kit (Jetson T5000) ve NVIDIA Jetson AGX Orin Developer Kit (64GB), JetPack'in JP6.1 sürümünü çalıştıran NVIDIA Jetson Orin Nano Super Developer Kit, NVIDIA Jetson Orin NX 16GB tabanlı ve JetPack'in JP6.0 sürümünü / JetPack'in JP5.1.3 sürümünü çalıştıran Seeed Studio reComputer J4012 ve NVIDIA Jetson Nano 4GB tabanlı, JetPack'in JP4.6.1 sürümünü çalıştıran Seeed Studio reComputer J1020 v2 ile test edilmiştir. En yeni ve eski cihazlar dâhil olmak üzere tüm NVIDIA Jetson donanım serisinde çalışması beklenir.
NVIDIA Jetson nedir?#
NVIDIA Jetson, uç cihazlara hızlandırılmış AI (yapay zekâ) işlem gücü sağlamak üzere tasarlanmış gömülü bilgi işlem kartları serisidir. Bu kompakt ve güçlü cihazlar, NVIDIA'nın GPU mimarisi temel alınarak geliştirilmiştir ve bulut bilişim kaynaklarına ihtiyaç duymadan karmaşık AI algoritmalarını ve derin öğrenme modellerini doğrudan cihaz üzerinde çalıştırabilir. Jetson kartları genellikle robotik, otonom araçlar, endüstriyel otomasyon ve AI çıkarımının düşük gecikme ve yüksek verimlilikle yerel olarak gerçekleştirilmesi gereken diğer uygulamalarda kullanılır. Ayrıca bu kartlar ARM64 mimarisini temel alır ve geleneksel GPU bilgi işlem cihazlarına kıyasla daha düşük güç tüketimiyle çalışır.
NVIDIA Jetson Serisi Karşılaştırması#
NVIDIA Jetson AGX Thor, önceki nesillere kıyasla büyük ölçüde iyileştirilmiş AI performansı sunan NVIDIA Blackwell mimarisini temel alan NVIDIA Jetson ailesinin en yeni üyesidir. Aşağıdaki tabloda ekosistemdeki bazı Jetson cihazları karşılaştırılmaktadır.
| Jetson AGX Thor(T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| AI Performansı | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | 96 Tensor Cores içeren 2560 çekirdekli NVIDIA Blackwell mimarili GPU | 64 Tensor Cores içeren 2048 çekirdekli NVIDIA Ampere mimarili GPU | 32 Tensor Cores içeren 1024 çekirdekli NVIDIA Ampere mimarili GPU | 32 Tensor Cores içeren 1024 çekirdekli NVIDIA Ampere mimarili GPU | 64 Tensor Cores içeren 512 çekirdekli NVIDIA Volta mimarili GPU | 48 Tensor Cores içeren 384 çekirdekli NVIDIA Volta™ mimarili GPU | 128 çekirdekli NVIDIA Maxwell™ mimarili GPU |
| GPU Maksimum Frekansı | 1.57 GHz | 1.3 GHz | 918 MHz | 1020 MHz | 1377 MHz | 1100 MHz | 921MHz |
| CPU | 14 çekirdekli Arm® Neoverse®-V3AE 64 bit CPU, 1MB L2 + 16MB L3 | 12 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 3MB L2 + 6MB L3 | 8 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 2MB L2 + 4MB L3 | 6 çekirdekli Arm® Cortex®-A78AE v8.2 64 bit CPU, 1.5MB L2 + 4MB L3 | 8 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU, 8MB L2 + 4MB L3 | 6 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU, 6MB L2 + 4MB L3 | Dört çekirdekli Arm® Cortex®-A57 MPCore işlemci |
| CPU Maksimum Frekansı | 2.6 GHz | 2.2 GHz | 2.0 GHz | 1.7 GHz | 2.2 GHz | 1.9 GHz | 1.43GHz |
| Bellek | 128GB 256 bit LPDDR5X 273GB/s | 64GB 256 bit LPDDR5 204.8GB/s | 16GB 128 bit LPDDR5 102.4GB/s | 8GB 128 bit LPDDR5 102 GB/s | 32GB 256 bit LPDDR4x 136.5GB/s | 8GB 128 bit LPDDR4x 59.7GB/s | 4GB 64 bit LPDDR4 25.6GB/s |
Daha ayrıntılı bir karşılaştırma tablosu için resmî NVIDIA Jetson sayfasındaki Teknik Özellikleri Karşılaştır bölümünü ziyaret et.
NVIDIA JetPack nedir?#
Jetson modüllerine güç sağlayan NVIDIA JetPack SDK, en kapsamlı çözümdür ve uçtan uca hızlandırılmış AI uygulamaları geliştirmek için eksiksiz bir geliştirme ortamı sunarak pazara çıkış süresini kısaltır. JetPack; önyükleyici, Linux çekirdeği, Ubuntu masaüstü ortamı ve GPU bilişimi, multimedya, grafikler ve bilgisayarlı görü hızlandırması için eksiksiz bir kitaplık seti içeren Jetson Linux'u kapsar. Ayrıca ana bilgisayar ve geliştirme kiti için örnekler, belgeler ve geliştirici araçları içerir; video akışı analitiği için DeepStream, robotik için Isaac ve konuşmalı AI için Riva gibi daha üst düzey SDK'ları destekler.
NVIDIA Jetson'a JetPack'i Flashlama#
Bir NVIDIA Jetson cihazı edindikten sonraki ilk adım, NVIDIA JetPack'i cihaza flashlamaktır. NVIDIA Jetson cihazlarını flashlamanın birkaç farklı yolu vardır.
- Resmî bir Jetson AGX Thor, AGX Orin veya Orin Nano Developer Kit üzerinde JetPack 7.2 için birleşik Jetson ISO'sunu indir, bir USB flash sürücüsüne yaz ve AGX Thor, AGX Orin veya Orin Nano için cihaza özgü hızlı başlangıç kılavuzunu izleyin. JetPack 7.2 ile birlikte Orin Nano artık indirilebilir bir SD kart imajı kullanmıyor; ISO USB, Jetson Linux'u cihazın microSD kartına veya NVMe SSD'sine yükler.
- Jetson Orin Nano Developer Kit'te bilerek JetPack 6 kullanıyorsan NVIDIA'nın JetPack 6.x güncelleme ve SD kart talimatlarını izle.
- Başka bir NVIDIA Development Kit'in varsa SDK Manager kullanarak JetPack'i cihaza flashlayabilirsin.
- Seeed Studio reComputer J4012 cihazının varsa JetPack'i birlikte verilen SSD'ye flashlayabilirsin; Seeed Studio reComputer J1020 v2 cihazının varsa JetPack'i eMMC'ye / SSD'ye flashlayabilirsin.
- NVIDIA Jetson modülüyle çalışan başka bir üçüncü taraf cihazın varsa komut satırıyla flashlama yöntemini izlemen önerilir.
Yukarıdaki 1, 4 ve 5. yöntemlerde sistemi flashladıktan ve cihazı başlattıktan sonra gerekli kalan tüm JetPack bileşenlerini yüklemek için cihaz terminaline "sudo apt update && sudo apt install nvidia-jetpack -y" komutunu gir.
Jetson Cihazına Göre JetPack Desteği#
Aşağıdaki tabloda farklı NVIDIA Jetson cihazları tarafından desteklenen NVIDIA JetPack sürümleri gösterilmektedir.
| JetPack 4 | JetPack 5 | JetPack 6 | JetPack 7 | |
|---|---|---|---|---|
| Jetson Nano | ✅ | ❌ | ❌ | ❌ |
| Jetson TX2 | ✅ | ❌ | ❌ | ❌ |
| Jetson Xavier NX | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Xavier | ✅ | ✅ | ❌ | ❌ |
| Jetson AGX Orin | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin NX | ❌ | ✅ | ✅ | ✅ |
| Jetson Orin Nano | ❌ | ✅ | ✅ | ✅ |
| Jetson AGX Thor | ❌ | ❌ | ❌ | ✅ |
Docker ile Hızlı Başlangıç#
NVIDIA Jetson üzerinde Ultralytics YOLO26'i kullanmaya başlamanın en hızlı yolu, Jetson için önceden oluşturulmuş Docker imajlarını çalıştırmaktır. Yukarıdaki tabloya bak ve sahip olduğun Jetson cihazına göre JetPack sürümünü seç.
t=ultralytics/ultralytics:latest-jetson-jetpack4
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia $tlatest-nvidia-arm64 imajı, CUDA 13.4 ve TensorRT 11.2 dahil olmak üzere NVIDIA PyTorch 26.08 kullanır. NVIDIA, uyumluluk tablosunda PyTorch için JetPack 7.1'i listeler, ancak TensorRT 11.2.1, Thor dahil JetPack'i desteklemez. Bu imajı yalnızca desteklenen bir ana makinedeki PyTorch iş yükleri için kullan. Jetson TensorRT dışarı aktarımları için, JetPack sürümün tarafından desteklenen TensorRT 10.x çalışma zamanıyla birlikte aşağıdaki yerel kurulumu kullan. Thor veya Orin üzerindeki JetPack 7.2, ayrı bir konteyner doğrulaması gerektirir. Hedef GPU ve TensorRT sürümü için motorları yeniden derle.
JetPack 4, 5 ve 6 imajları için NVIDIA Jetson'da TensorRT Kullanımı ile devam et. Yukarıdaki JetPack 7.1 imajı yalnızca PyTorch iş yükleri içindir.
Yerel Kurulumla Başla#
Docker kullanmadan yerel kurulum yapmak için aşağıdaki adımlara bak.
JetPack 7.2 üzerinde çalıştırma#
Ultralytics Paketini Yükleme#
Burada Ultralytics paketini Jetson'a yükleyeceğiz. Dışa aktarma bağımlılıkları, bir modeli ilk kez dışa aktardığında otomatik olarak yüklenir; bu nedenle burada yalnızca temel paket gereklidir. Temel olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız; çünkü TensorRT, Jetson cihazlarından maksimum performansı almamızı sağlar.
-
Paket listesini güncelle, pip'i yükle ve en son sürüme yükselt
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip paketini yüklepip install ultralytics -
Cihazı yeniden başlat
sudo reboot
PyTorch ve Torchvision'ı yükle#
Yukarıdaki ultralytics kurulumu Torch ve Torchvision'ı yükler. Ancak pip aracılığıyla yüklenen bu 2 paket, CUDA 13 kullanan JetPack 7.2 cihazlarında çalışmak için uyumlu değildir. Bu nedenle bunları manuel olarak yüklememiz gerekir.
JP7.2'ye göre torch ve torchvision paketlerini yükle
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130onnxruntime-gpu paketini yükle#
JetPack, Python ve CUDA sürümlerine uygun bir ONNX Runtime GPU wheel kullan. Mevcut PyPI sürümleri ARM64 wheel'larını içerir, ancak bunlar her JetPack sürümü için cihaza özel paketlerin yerini almaz.
Burada Python3.12 desteğiyle onnxruntime-gpu 1.24.0 paketini indirip yükleyeceğiz.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whlJetPack 6.1 üzerinde çalıştırma#
Ultralytics Paketini Yükleme#
Burada Ultralytics paketini Jetson'a yükleyeceğiz. Dışa aktarma bağımlılıkları, bir modeli ilk kez dışa aktardığında otomatik olarak yüklenir; bu nedenle burada yalnızca temel paket gereklidir. Temel olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız; çünkü TensorRT, Jetson cihazlarından maksimum performansı almamızı sağlar.
-
Paket listesini güncelle, pip'i yükle ve en son sürüme yükselt
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip paketini yüklepip install ultralytics -
Cihazı yeniden başlat
sudo reboot
PyTorch ve Torchvision'ı yükle#
Yukarıdaki ultralytics kurulumu Torch ve Torchvision'ı yükler. Ancak pip aracılığıyla yüklenen bu iki paket, ARM64 mimarisini temel alan Jetson platformuyla uyumlu değildir. Bu nedenle önceden oluşturulmuş bir PyTorch pip wheel'ini manuel olarak yüklemeli ve Torchvision'ı kaynak koddan derlemeli veya yüklemeliyiz.
JP6.1'e göre torch 2.10.0 ve torchvision 0.25.0 paketlerini yükle
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.10.0-cp310-cp310-linux_aarch64.whl
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.25.0-cp310-cp310-linux_aarch64.whlFarklı JetPack sürümleri için tüm farklı PyTorch sürümlerine erişmek üzere Jetson için PyTorch sayfasını ziyaret et. PyTorch ve Torchvision uyumluluğuna ilişkin daha ayrıntılı bir liste için PyTorch ve Torchvision uyumluluk sayfasını ziyaret et.
torch 2.10.0 ile ilgili bir bağımlılık sorununu düzeltmek için cuDSS paketini yükle
wget https://developer.download.nvidia.com/compute/cudss/0.7.1/local_installers/cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo dpkg -i cudss-local-tegra-repo-ubuntu2204-0.7.1_0.7.1-1_arm64.deb
sudo cp /var/cudss-local-tegra-repo-ubuntu2204-0.7.1/cudss-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudssonnxruntime-gpu paketini yükle#
JetPack, Python ve CUDA sürümlerine uygun bir ONNX Runtime GPU wheel kullan. Mevcut PyPI sürümleri ARM64 wheel'larını içerir, ancak bunlar her JetPack sürümü için cihaza özel paketlerin yerini almaz.
Mevcut tüm onnxruntime-gpu paketlerini JetPack sürümüne, Python sürümüne ve diğer uyumluluk ayrıntılarına göre düzenlenmiş şekilde Jetson Zoo ONNX Runtime uyumluluk matrisinde bulabilirsin.
Python 3.10 destekli JetPack 6 için onnxruntime-gpu 1.23.0 paketini yükleyebilirsin:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.23.0-cp310-cp310-linux_aarch64.whlAlternatif olarak, onnxruntime-gpu 1.20.0 için:
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.20.0-cp310-cp310-linux_aarch64.whlJetPack 5.1.2 üzerinde çalıştırma#
Ultralytics Paketini Yükleme#
Burada Ultralytics paketini Jetson'a yükleyeceğiz. Dışa aktarma bağımlılıkları, bir modeli ilk kez dışa aktardığında otomatik olarak yüklenir; bu nedenle burada yalnızca temel paket gereklidir. Temel olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız; çünkü TensorRT, Jetson cihazlarından maksimum performansı almamızı sağlar.
-
Paket listesini güncelle, pip'i yükle ve en son sürüme yükselt
sudo apt update sudo apt install python3-pip -y pip install -U pip -
ultralyticspip paketini yüklepip install ultralytics -
Cihazı yeniden başlat
sudo reboot
PyTorch ve Torchvision'ı yükle#
Yukarıdaki ultralytics kurulumu Torch ve Torchvision'ı yükler. Ancak pip aracılığıyla yüklenen bu iki paket, ARM64 mimarisini temel alan Jetson platformuyla uyumlu değildir. Bu nedenle önceden oluşturulmuş bir PyTorch pip wheel'ini manuel olarak yüklemeli ve Torchvision'ı kaynak koddan derlemeli veya yüklemeliyiz.
-
Şu anda yüklü PyTorch ve Torchvision'ı kaldır
pip uninstall torch torchvision -
JP5.1.2'ye göre
torch 2.1.0vetorchvision 0.16.2paketlerini yüklepip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/torchvision-0.16.2+c6f3977-cp38-cp38-linux_aarch64.whl
Farklı JetPack sürümleri için tüm farklı PyTorch sürümlerine erişmek üzere Jetson için PyTorch sayfasını ziyaret et. PyTorch ve Torchvision uyumluluğuna ilişkin daha ayrıntılı bir liste için PyTorch ve Torchvision uyumluluk sayfasını ziyaret et.
onnxruntime-gpu paketini yükle#
JetPack, Python ve CUDA sürümlerine uygun bir ONNX Runtime GPU wheel kullan. Mevcut PyPI sürümleri ARM64 wheel'larını içerir, ancak bunlar her JetPack sürümü için cihaza özel paketlerin yerini almaz.
Mevcut tüm onnxruntime-gpu paketlerini JetPack sürümüne, Python sürümüne ve diğer uyumluluk ayrıntılarına göre düzenlenmiş şekilde Jetson Zoo ONNX Runtime uyumluluk matrisinde bulabilirsin. Burada Python3.8 desteğiyle onnxruntime-gpu 1.17.0 paketini indirip yükleyeceğiz.
wget https://nvidia.box.com/shared/static/zostg6agm00fb6t5uisw51qi6kpcuwzd.whl -O onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whl
pip install onnxruntime_gpu-1.17.0-cp38-cp38-linux_aarch64.whlonnxruntime-gpu, NumPy sürümünü otomatik olarak en son sürüme geri döndürür. Bu nedenle bir sorunu düzeltmek için şu komutu çalıştırarak NumPy'yi 1.23.5 sürümüne yeniden yüklememiz gerekir:
pip install numpy==1.23.5
NVIDIA Jetson'da TensorRT Kullanımı#
Ultralytics tarafından desteklenen tüm model dışarı aktarma formatları arasında TensorRT, NVIDIA Jetson cihazlarında en yüksek çıkarım performansını sunarak Jetson dağıtımları için bir numaralı tavsiyemiz olmasını sağlar. Dışarı aktarmadan önce, JetPack sürümün için sağlanan TensorRT Python bağlamalarını kur ve bunları python3 -c "import tensorrt; print(tensorrt.__version__)" ile doğrula. JetPack 6/7 üzerinde desteklenen TensorRT 10.x çalışma zamanını koru; bunu TensorRT 11.2.1 ile değiştirme. Kurulum talimatları ve gelişmiş kullanım için özel TensorRT entegrasyon kılavuzumuza göz at.
Derleme ortamını yerel olarak yapılandırmadan tarayıcı üzerinden de dışa aktarabilirsin. Ultralytics Platform model Export sekmesinde TensorRT'yi ve hedeflenen Jetson cihazını seç. Thor seçimleri fiziksel Thor donanımında doğrulanır. Altı Orin seçimi şu anda AGX-Orin üzerinde oluşturulmuş aday motorlar üretir; dağıtımdan önce bunları hedeflenen Orin SKU'sunda doğrula.
TensorRT, bir motoru derlendiği GPU üzerinde profiller ve ayarlar. Hedefin GPU mimarisi ile TensorRT/CUDA çalışma zamanını eşleştir ve indirilen her motoru dağıtım cihazında doğrula. Aynı mimariye sahip Orin SKU'ları otomatik taşınabilirliği garanti etmez ve en iyi sonuçlar için INT8 kalibrasyonu hedef cihazda gerçekleştirilmelidir.
Modeli TensorRT'ye Dönüştürme ve Çıkarım Çalıştırma#
PyTorch biçimindeki YOLO26n modeli, dışa aktarılan modelle çıkarım çalıştırmak üzere TensorRT'ye dönüştürülür.
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo26n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")Modelleri farklı model biçimlerine dışa aktarırken ek bağımsız değişkenlere erişmek için Export sayfasını ziyaret et
NVIDIA Derin Öğrenme Hızlandırıcısını (DLA) Kullanma#
NVIDIA Derin Öğrenme Hızlandırıcısı (DLA), enerji verimliliği ve performans için derin öğrenme çıkarımını optimize eden, NVIDIA Jetson cihazlarına yerleşik özel bir donanım bileşenidir. Görevleri GPU'dan devralarak (GPU'yu daha yoğun işlemler için serbest bırakarak) DLA, yüksek verimi korurken modellerin daha düşük güç tüketimiyle çalışmasını sağlar; bu da onu gömülü sistemler ve gerçek zamanlı yapay zekâ uygulamaları için ideal kılar.
NVIDIA, TensorRT 10.7'yi DLA desteğine sahip son sürüm olarak listeler; TensorRT 11.0, 11.1 ve 11.2 DLA'yı desteklemez. JetPack sürümün tarafından desteklenen, DLA uyumlu bir TensorRT sürümü kullan. TensorRT 11.2.1, yalnızca GPU dışarı aktarımları dahil olmak üzere JetPack'i desteklemez.
Aşağıdaki Jetson cihazları DLA donanımıyla donatılmıştır:
| Jetson Cihazı | DLA Çekirdekleri | DLA Maksimum Frekansı |
|---|---|---|
| Jetson AGX Orin Serisi | 2 | 1.6 GHz |
| Jetson Orin NX 16GB | 2 | 614 MHz |
| Jetson Orin NX 8GB | 1 | 614 MHz |
| Jetson AGX Xavier Serisi | 2 | 1.4 GHz |
| Jetson Xavier NX Serisi | 2 | 1.1 GHz |
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Export the model to TensorRT with DLA enabled (only works with FP16 or INT8)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 or dla:1 corresponds to the DLA cores
# Load the exported TensorRT model
trt_model = YOLO("yolo26n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")DLA dışa aktarımlarını kullanırken bazı katmanların DLA üzerinde çalışması desteklenmeyebilir ve yürütme için GPU'ya geri dönebilir. Bu geri dönüş, ek gecikmeye yol açabilir ve genel çıkarım performansını etkileyebilir. Bu nedenle DLA, tamamen GPU üzerinde çalışan TensorRT'ye kıyasla çıkarım gecikmesini azaltmak için tasarlanmamıştır. Bunun yerine temel amacı verimi artırmak ve enerji verimliliğini geliştirmektir.
NVIDIA Jetson YOLO26 Karşılaştırmaları#
YOLO26 karşılaştırmaları, hız ve doğruluk ölçen 11 farklı model formatında Ultralytics ekibi tarafından çalıştırıldı: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Karşılaştırmalar, NVIDIA Jetson AGX Thor Developer Kit, NVIDIA Jetson AGX Orin Developer Kit (64GB), NVIDIA Jetson Orin Nano Super Developer Kit ve Jetson Orin NX 16GB cihazı gücüne sahip Seeed Studio reComputer J4012 üzerinde varsayılan 640 girdi resmi boyutu ile FP32 hassasiyetinde çalıştırıldı.
Karşılaştırma Grafikleri#
Tüm model dışa aktarımları NVIDIA Jetson üzerinde çalışsa da aşağıdaki karşılaştırma grafiğine yalnızca PyTorch, TorchScript, TensorRT dahil edilmiştir; çünkü bunlar Jetson üzerindeki GPU'yu kullanır ve en iyi sonuçları üretmeleri garanti edilir. Diğer tüm dışa aktarımlar yalnızca CPU'yu kullanır ve performansları yukarıdaki üçü kadar iyi değildir. Tüm dışa aktarımlara ilişkin karşılaştırmaları bu grafikten sonraki bölümde bulabilirsin.
NVIDIA Jetson AGX Thor Developer Kit#
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
NVIDIA Jetson Orin Nano Super Developer Kit#
NVIDIA Jetson Orin NX 16GB#
Ayrıntılı Karşılaştırma Tabloları#
Aşağıdaki tablo, beş farklı model (YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x) için 11 farklı format (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) genelindeki karşılaştırma sonuçlarını temsil eder ve her kombinasyon için durumu, boyutu, mAP50-95(B) metriğini ve çıkarım süresini verir.
NVIDIA Jetson AGX Thor Developer Kit#
| Biçim | Durum | Diskteki boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4798 | 7.39 |
| TorchScript | ✅ | 9.8 | 0.4789 | 4.21 |
| ONNX | ✅ | 9.5 | 0.4767 | 6.58 |
| OpenVINO | ✅ | 10.1 | 0.4794 | 17.50 |
| TensorRT (FP32) | ✅ | 13.9 | 0.4791 | 1.90 |
| TensorRT (FP16) | ✅ | 7.6 | 0.4797 | 1.39 |
| TensorRT (INT8) | ✅ | 6.5 | 0.4273 | 1.52 |
| TF SavedModel | ✅ | 25.7 | 0.4764 | 47.24 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 45.98 |
| TF Lite | ✅ | 9.9 | 0.4764 | 182.04 |
| MNN | ✅ | 9.4 | 0.4784 | 21.83 |
Ultralytics 8.4.7 ile karşılaştırıldı
Çıkarım süresine ön/son işleme dahil değildir.
NVIDIA Jetson AGX Orin Developer Kit (64GB)#
| Biçim | Durum | Diskteki boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 11.58 |
| TorchScript | ✅ | 9.8 | 0.4770 | 4.60 |
| ONNX | ✅ | 9.5 | 0.4770 | 9.87 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 28.80 |
| TensorRT (FP32) | ✅ | 11.5 | 0.0450 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.0450 | 2.62 |
| TensorRT (INT8) | ✅ | 5.4 | 0.4640 | 2.30 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 71.10 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 70.02 |
| TF Lite | ✅ | 9.9 | 0.4760 | 227.94 |
| MNN | ✅ | 9.4 | 0.4760 | 32.46 |
| NCNN | ✅ | 9.3 | 0.4810 | 29.93 |
Ultralytics 8.4.32 ile karşılaştırıldı
Çıkarım süresine ön/son işleme dahil değildir.
NVIDIA Jetson Orin Nano Super Developer Kit#
| Biçim | Durum | Diskteki boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4790 | 15.60 |
| TorchScript | ✅ | 9.8 | 0.4770 | 12.60 |
| ONNX | ✅ | 9.5 | 0.4760 | 15.76 |
| OpenVINO | ✅ | 9.6 | 0.4820 | 56.23 |
| TensorRT (FP32) | ✅ | 11.3 | 0.4770 | 7.53 |
| TensorRT (FP16) | ✅ | 8.1 | 0.4800 | 4.57 |
| TensorRT (INT8) | ✅ | 5.3 | 0.4490 | 3.80 |
| TF SavedModel | ✅ | 24.6 | 0.4760 | 118.33 |
| TF GraphDef | ✅ | 9.5 | 0.4760 | 116.30 |
| TF Lite | ✅ | 9.9 | 0.4760 | 286.00 |
| MNN | ✅ | 9.4 | 0.4760 | 68.77 |
| NCNN | ✅ | 9.3 | 0.4810 | 47.50 |
Ultralytics 8.4.33 ile karşılaştırıldı
Çıkarım süresine ön/son işleme dahil değildir.
NVIDIA Jetson Orin NX 16GB#
| Biçim | Durum | Diskteki boyut (MB) | mAP50-95(B) | Çıkarım süresi (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.3 | 0.4799 | 13.90 |
| TorchScript | ✅ | 9.8 | 0.4787 | 11.60 |
| ONNX | ✅ | 9.5 | 0.4763 | 14.18 |
| OpenVINO | ✅ | 9.6 | 0.4819 | 40.19 |
| TensorRT (FP32) | ✅ | 11.4 | 0.4770 | 7.01 |
| TensorRT (FP16) | ✅ | 8.0 | 0.4789 | 4.13 |
| TensorRT (INT8) | ✅ | 5.5 | 0.4489 | 3.49 |
| TF SavedModel | ✅ | 24.6 | 0.4764 | 92.34 |
| TF GraphDef | ✅ | 9.5 | 0.4764 | 92.06 |
| TF Lite | ✅ | 9.9 | 0.4764 | 254.43 |
| MNN | ✅ | 9.4 | 0.4760 | 48.55 |
| NCNN | ✅ | 9.3 | 0.4805 | 34.31 |
Ultralytics 8.4.33 ile karşılaştırıldı
Çıkarım süresine ön/son işleme dahil değildir.
Farklı NVIDIA Jetson donanımı sürümlerinde gerçekleştirilen Seeed Studio'nun daha fazla karşılaştırma çalışmasını keşfet.
Sonuçlarımızı Yeniden Üretme#
Yukarıdaki Ultralytics kıyaslamalarını tüm dışa aktarma biçimlerinde yeniden üretmek için şu kodu çalıştır:
from ultralytics import YOLO
# Load a YOLO26n PyTorch model
model = YOLO("yolo26n.pt")
# Benchmark YOLO26n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)Kıyaslama sonuçlarının bir sistemin tam donanım ve yazılım yapılandırmasına ve ayrıca kıyaslamaların çalıştırıldığı sırada sistemin mevcut iş yüküne bağlı olarak değişebileceğini unutma. En güvenilir sonuçlar için çok sayıda görüntü içeren bir veri kümesi kullan; örneğin data='coco.yaml' (5000 doğrulama görüntüsü).
NVIDIA Jetson Kullanırken En İyi Uygulamalar#
YOLO26 çalıştıran NVIDIA Jetson'da maksimum performansı elde etmek için NVIDIA Jetson kullanırken izlenmesi gereken birkaç en iyi uygulama vardır.
-
MAX Güç Modunu Etkinleştirme
Jetson'da MAX Güç Modunu etkinleştirmek, tüm CPU ve GPU çekirdeklerinin açık olmasını sağlar.
sudo nvpmodel -m 0 -
Jetson Saatlerini Etkinleştirme
Jetson Saatlerini etkinleştirmek, tüm CPU ve GPU çekirdeklerinin maksimum frekanslarında çalışmasını sağlar.
sudo jetson_clocks -
Jetson Stats Uygulamasını Yükleme
Sistem bileşenlerinin sıcaklıklarını izlemek ve CPU, GPU, RAM kullanımını görüntüleme, güç modlarını değiştirme, saatleri maksimuma ayarlama ve JetPack bilgilerini kontrol etme gibi diğer sistem ayrıntılarını incelemek için jetson stats uygulamasını kullanabiliriz.
sudo apt update sudo pip install jetson-stats sudo reboot jtop
NVIDIA Jetson için Bellek Optimizasyonu İpuçları#
Kullanılabilir bellek, özellikle Jetson Orin Nano (8 GB) veya Orin NX 8 GB gibi daha düşük belleğe sahip modellerde, Jetson cihazlarında genellikle sınırlayıcı faktördür. Aşağıdaki ipuçları, birlikte birkaç yüz megabayt boşaltabilen ve daha büyük YOLO modellerini çalıştırmana veya ek paralel iş yüklerini desteklemene olanak tanıyan pratik ve düşük riskli değişikliklerdir. Kapsamlı bilgi için Jetson'da bellek verimliliğini en üst düzeye çıkarma hakkındaki NVIDIA bloguna bakabilirsin.
1. Başsız (GUI'siz) Önyüklemeye Geçiş Yapma#
Jetson cihazın SSH üzerinden bağlıysa veya bağlı bir ekran olmadan üretim cihazı olarak çalışıyorsa masaüstü ortamını ve görüntü sunucusunu kaldırmak 865 MB'a kadar RAM kazandırabilir:
sudo systemctl set-default multi-user.target
sudo rebootMasaüstünü daha sonra geri yüklemek için:
sudo systemctl set-default graphical.target
sudo reboot2. Kullanılmayan Sistem Hizmetlerini Devre Dışı Bırakma#
Gerekli olmayan arka plan hizmetleri (Bluetooth, bağlantı yöneticileri, kullanılmayan donanım arka plan hizmetleri) toplamda yaklaşık 32 MB tüketir. Etkin hizmetleri listele ve dağıtımının gerektirmediği her şeyi devre dışı bırak:
# List running services
systemctl list-units --type=service --state=running
# Disable a service
sudo systemctl disable SERVICE_NAME3. Bellek Kullanımını Profilleme#
Optimize etmeden önce, hangi işlemlerin gerçekten RAM tükettiğini belirle. procrank, işlemleri PSS'ye (Orantılı Küme Boyutu) göre sıralar; bu değer, bir işlem tarafından eşlenen toplam fiziksel RAM sayfalarını ve diğer işlemlerle paylaşılan sayfaları içeren RSS'ye (Yerleşik Küme Boyutu) kıyasla işlem başına gerçek bellek kullanımını daha doğru yansıtır:
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankİşlem başına GPU ve NvMap (CUDA/video işlem hattı) tahsislerini görmek için:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Üretimde Ekran Olmadan Çıkarım Çalıştırma#
Canlı önizleme gerektirmeyen çıkarım işlem hatlarında, görüntülemeyle ilgili bileşenleri (Tiler, OSD, DisplaySink) devre dışı bırakmak yalnızca işlem hattından 200+ MB tasarruf sağlayabilir. Ultralytics YOLO ile görüntüleyiciyi bastır ve sonuçları bunun yerine diske yaz:
from ultralytics import YOLO
model = YOLO("yolo26n.engine")
# show=False prevents any display window; save=True writes annotated output to disk
results = model.predict(source="video.mp4", show=False, save=True)Birikimli Etki#
| Optimizasyon | Yaklaşık Boşaltılan Bellek |
|---|---|
| Masaüstü GUI'sini devre dışı bırakma | ~865 MB |
| Kullanılmayan işletim sistemi hizmetlerini devre dışı bırakma | ~32 MB |
| Başsız çıkarım işlem hattı (ekran yok) | ~200+ MB |
| Toplam (kolay kazanımlar) | ~1 GB+ |
Bu değişiklikleri birleştirmek, bellek kısıtlamalı cihazlarda TensorRT INT8 modellerini hedeflerken özellikle değerlidir; daha büyük bir model varyantını belleğe sığdırabilmekle sığdıramamak arasındaki farkı yaratabilir.
Sonraki Adımlar#
Daha fazla bilgi ve destek için Ultralytics YOLO26 Belgelerine bak.
SSS#
Ultralytics YOLO26'yı NVIDIA Jetson cihazlarına dağıtmak oldukça kolaydır. Önce Jetson cihazına NVIDIA JetPack SDK'sını yükle. Ardından hızlı kurulum için önceden oluşturulmuş bir Docker görüntüsü kullanabilir veya gerekli paketleri manuel olarak yükleyebilirsin. Her iki yaklaşıma ilişkin ayrıntılı adımları Docker ile Hızlı Başlangıç ve Yerel Kurulumla Başlama bölümlerinde bulabilirsin.
YOLO26 modelleri, önemli performans iyileştirmeleri gösteren çeşitli NVIDIA Jetson cihazlarında karşılaştırıldı. Örneğin, TensorRT formatı en iyi çıkarım performansını sunar. Ayrıntılı Karşılaştırma Tabloları bölümündeki tablo, mAP50-95 ve farklı model formatlarındaki çıkarım süresi gibi performans metriklerinin kapsamlı bir görünümünü sağlar.
TensorRT, optimum performansı nedeniyle YOLO26 modellerini NVIDIA Jetson'a dağıtmak için özellikle önerilir. Jetson'ın GPU yeteneklerinden yararlanarak çıkarımı hızlandırır ve maksimum verimlilik ile hızı garanti eder. TensorRT'ye dönüştürme ve çıkarım çalıştırma hakkında daha fazla bilgiyi NVIDIA Jetson'da TensorRT Kullanma bölümünde bulabilirsin.
PyTorch ve Torchvision'ı NVIDIA Jetson'a yüklemek için önce pip aracılığıyla yüklenmiş olabilecek mevcut sürümleri kaldır. Ardından Jetson'ın ARM64 mimarisiyle uyumlu PyTorch ve Torchvision sürümlerini manuel olarak yükle. Bu işlemle ilgili ayrıntılı talimatlar PyTorch ve Torchvision'ı Yükleme bölümünde verilmiştir.
YOLO26 ile NVIDIA Jetson'da performansı en üst düzeye çıkarmak için şu en iyi uygulamaları izle:
- Tüm CPU ve GPU çekirdeklerinden yararlanmak için MAX Güç Modunu etkinleştir.
- Tüm çekirdekleri maksimum frekanslarında çalıştırmak için Jetson Saatlerini etkinleştir.
- Sistem ölçümlerini izlemek için Jetson Stats uygulamasını yükle.
Komutlar ve ek ayrıntılar için NVIDIA Jetson Kullanırken En İyi Uygulamalar bölümüne bakabilirsin.
Kullanılabilir RAM, daha düşük belleğe sahip Jetson cihazlarında genellikle darboğazdır. Birlikte 1 GB'tan fazla bellek kazandırabilecek üç kolay çözüm:
- Masaüstü GUI'sini kaldırmak için başsız önyüklemeye geç (
sudo systemctl set-default multi-user.target) (~865 MB tasarruf). - Bluetooth veya bağlantı yöneticileri gibi kullanılmayan hizmetleri devre dışı bırak (~32 MB tasarruf).
- YOLO
predictçağrındashow=Falseayarını yaparak ekran olmadan çıkarım çalıştır; bu, görüntüleme işlem hattı belleğinin tahsis edilmesini önler (~200+ MB tasarruf).
İşlem başına RAM kullanımını profillemek için
procrank, GPU tahsislerini incelemek içinsudo cat /sys/kernel/debug/nvmap/iovmm/clientskullan. Tüm ayrıntılar için Bellek Optimizasyonu İpuçları bölümüne bakabilirsin.- Masaüstü GUI'sini kaldırmak için başsız önyüklemeye geç (
JetPack 6 ile birlikte gelen TensorRT 10.3.0,
nms=Falseetkinleştirildiğinde INT8 motor derlemelerini engelleyen bilinen bir soruna sahiptir. Ultralytics bu kombinasyonu algıladığında, dışa aktarımın başarılı olmasını sağlamak için otomatik olarak bire-çok başlığını seçer.NMS'siz INT8 dışa aktarımlarını eski haline getirmek için TensorRT'yi daha yeni bir sürüme (ör. 10.7.0+) yükselt:
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/arm64/cuda-keyring_1.1-1_all.deb sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt-get update sudo apt-get install -y tensorrtYükseltme sonrasında dışa aktarımını yeniden çalıştır. Daha fazla ayrıntı için GitHub issue #23841 sayfasına bakabilirsin.