Hızlı Başlangıç Kılavuzu: NVIDIA Jetson ile Ultralytics YOLO26#
Bu kapsamlı kılavuz, Ultralytics YOLO26'yı NVIDIA Jetson cihazlarına dağıtmak için ayrıntılı bir yol haritası sunar. Ayrıca YOLO26'nın 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 yapay zekâ işlem gücü ve 128 GB bellek sunan, güç tüketimi 40 W ile 130 W arasında yapılandırılabilen en yeni NVIDIA Jetson AGX Thor Developer Kit ile güncelledik. NVIDIA Jetson AGX Orin'e kıyasla 7,5 kattan fazla yapay zekâ işlem gücü ve 3,5 kat daha iyi enerji verimliliği sunarak en popüler yapay zekâ modellerini sorunsuzca çalıştırır.
İzle: Ultralytics YOLO26 NVIDIA Jetson cihazlarında nasıl kullanılır

Bu kılavuz, en yeni 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) ile; JP6.1 JetPack sürümünü çalıştıran NVIDIA Jetson Orin Nano Super Developer Kit ile; JetPack'in JP6.0/JP5.1.3 sürümlerini çalıştıran ve NVIDIA Jetson Orin NX 16GB tabanlı Seeed Studio reComputer J4012 ile ve JetPack'in JP4.6.1 sürümünü çalıştıran ve NVIDIA Jetson Nano 4GB tabanlı Seeed Studio reComputer J1020 v2 ile test edilmiştir. En yeni ve eski cihazlar dâhil olmak üzere tüm NVIDIA Jetson donanım ürün serisinde çalışması beklenmektedir.
NVIDIA Jetson nedir?#
NVIDIA Jetson, uç cihazlara hızlandırılmış yapay zekâ (AI) işlem gücü sunmak için tasarlanmış gömülü bilgi işlem kartları serisidir. Bu kompakt ve güçlü cihazlar NVIDIA GPU mimarisi üzerine kuruludur ve derin öğrenme modellerini karmaşık yapay zekâ algoritmalarıyla birlikte bulut bilişim kaynaklarına ihtiyaç duymadan doğrudan cihazda çalıştırabilir. Jetson kartları genellikle robotik, otonom araçlar, endüstriyel otomasyon ve yapay zekâ çıkarımının düşük gecikmeyle 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 yapay zekâ performansını büyük ölçüde artıran NVIDIA Blackwell mimarisini temel alan, NVIDIA Jetson ailesinin en yeni sürümüdür. Aşağıdaki tabloda ekosistemdeki bazı Jetson cihazları karşılaştırılıyor.
| Jetson AGX Thor (T5000) | Jetson AGX Orin 64GB | Jetson Orin NX 16GB | Jetson Orin Nano Super | Jetson AGX Xavier | Jetson Xavier NX | Jetson Nano | |
|---|---|---|---|---|---|---|---|
| Yapay Zekâ Performansı | 2070 TFLOPS | 275 TOPS | 100 TOPS | 67 TOPS | 32 TOPS | 21 TOPS | 472 GFLOPS |
| GPU | 96 Tensor Core içeren 2560 çekirdekli NVIDIA Blackwell mimarisi GPU | 64 Tensor Core içeren 2048 çekirdekli NVIDIA Ampere mimarisi GPU | 32 Tensor Core içeren 1024 çekirdekli NVIDIA Ampere mimarisi GPU | 32 Tensor Core içeren 1024 çekirdekli NVIDIA Ampere mimarisi GPU | 64 Tensor Core içeren 512 çekirdekli NVIDIA Volta mimarisi GPU | 48 Tensor Core içeren 384 çekirdekli NVIDIA Volta™ mimarisi GPU | 128 çekirdekli NVIDIA Maxwell™ mimarisi 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, 1 MB L2 + 16 MB L3 | 12 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 3 MB L2 + 6 MB L3 | 8 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 2 MB L2 + 4 MB L3 | 6 çekirdekli Arm® Cortex®-A78AE v8.2 64 bit CPU 1,5 MB L2 + 4 MB L3 | 8 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU 8 MB L2 + 4 MB L3 | 6 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU 6 MB L2 + 4 MB 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 | 128 GB 256 bit LPDDR5X 273 GB/sn | 64 GB 256 bit LPDDR5 204,8 GB/sn | 16 GB 128 bit LPDDR5 102,4 GB/sn | 8 GB 128 bit LPDDR5 102 GB/sn | 32 GB 256 bit LPDDR4x 136,5 GB/sn | 8 GB 128 bit LPDDR4x 59,7 GB/sn | 4 GB 64 bit LPDDR4 25,6 GB/sn |
Daha ayrıntılı bir karşılaştırma tablosu için resmî NVIDIA Jetson sayfasındaki Özellikleri Karşılaştır bölümünü ziyaret et.
NVIDIA JetPack nedir?#
Jetson modüllerine güç sağlayan NVIDIA JetPack SDK, uçtan uca hızlandırılmış AI uygulamaları geliştirmek için en kapsamlı çözümü sunar, eksiksiz bir geliştirme ortamı sağlar ve pazara sunma süresini kısaltır. JetPack; önyükleyici, Linux çekirdeği, Ubuntu masaüstü ortamı ve GPU hesaplama, multimedya, grafik ve bilgisayarlı görü hızlandırması için eksiksiz bir kitaplık kümesi içeren Jetson Linux'u kapsar. Ayrıca ana bilgisayar ve geliştirici kiti için örnekler, belgeler ve geliştirici araçlarının yanı sıra akış videosu analitiği için DeepStream, robotik için Isaac ve konuşma tabanlı AI için Riva gibi daha üst düzey SDK'ları da içerir.
NVIDIA Jetson'a JetPack'i yükle#
NVIDIA Jetson cihazını edindikten sonraki ilk adım, NVIDIA JetPack'i cihaza yüklemektir. NVIDIA Jetson cihazlarına yükleme yapmanın birkaç farklı yolu vardır.
- Resmî Jetson AGX Thor, AGX Orin veya Orin Nano Developer Kit üzerinde JetPack 7.2 kullanmak için birleşik Jetson ISO'sunu indir, bir USB belleğe yaz ve AGX Thor, AGX Orin veya Orin Nano için cihaza özel hızlı başlangıç yönergelerini izle. JetPack 7.2 ile birlikte Orin Nano artık indirilebilir bir SD kart imajı kullanmıyor; ISO'yu USB'den yüklemek, Jetson Linux'u cihazın microSD kartına veya NVMe SSD'sine kuruyor.
- Jetson Orin Nano Developer Kit üzerinde özellikle JetPack 6 kullanıyorsan NVIDIA'nın JetPack 6.x güncelleme ve SD kart yönergelerini izle.
- Başka bir NVIDIA Development Kit'e sahipsen SDK Manager kullanarak JetPack'i cihaza yükleyebilirsin.
- Seeed Studio reComputer J4012 cihazına sahipsen JetPack'i ürünle birlikte gelen SSD'ye yükleyebilirsin; Seeed Studio reComputer J1020 v2 cihazına sahipsen JetPack'i eMMC/SSD'ye yükleyebilirsin.
- NVIDIA Jetson modülüyle çalışan başka bir üçüncü taraf cihaza sahipsen komut satırından yükleme yöntemini izlemen önerilir.
Yukarıdaki 1, 4 ve 5 numaralı yöntemlerde sistemi yükleyip cihazı başlattıktan sonra, gereken JetPack bileşenlerinin geri kalanını 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ının desteklediği 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'da Ultralytics YOLO26'yı 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 içeren NVIDIA PyTorch 26.08 kullanır. NVIDIA, uyumluluk tablosunda PyTorch için JetPack 7.1'i listeliyor; ancak TensorRT 11.2.1, Thor da dahil olmak üzere JetPack'i desteklemiyor. Bu imajı yalnızca desteklenen bir ana bilgisayarda PyTorch iş yükleri için kullan. Jetson TensorRT dışa aktarımları için aşağıdaki yerel kurulumu ve JetPack sürümünün desteklediği TensorRT 10.x çalışma zamanını kullan. Thor veya Orin üzerinde JetPack 7.2 kullanıyorsan kapsayıcıyı ayrıca doğrula. Motorları hedef GPU ve TensorRT sürümü için yeniden oluştur.
JetPack 4, 5 ve 6 imajları için NVIDIA Jetson'da TensorRT kullanma bölümüne geç. 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'de Çalıştır#
Ultralytics Paketini Yükle#
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. Jetson cihazlarından en yüksek performansı almamızı sağladığı için ağırlıklı olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız.
-
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, CUDA 13 kullanan JetPack 7.2 cihazlarında çalışmaya uygun değildir. Bu nedenle bunları elle yüklememiz gerekir.
JP7.2'ye uygun torch ve torchvision öğelerini yükle
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130onnxruntime-gpu öğesini yükle#
JetPack, Python ve CUDA sürümlerinle eşleşen bir ONNX Runtime GPU wheel'i kullan. PyPI'daki güncel sürümlerde ARM64 wheel'leri bulunsa da bunlar her JetPack sürümüne özgü paketlerin yerini tutmaz.
Burada Python3.12 desteğiyle onnxruntime-gpu 1.24.0 öğesini 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'de Çalıştır#
Ultralytics Paketini Yükle#
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. Jetson cihazlarından en yüksek performansı almamızı sağladığı için ağırlıklı olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız.
-
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 mimarisine dayalı Jetson platformuyla uyumlu değildir. Bu nedenle önceden oluşturulmuş bir PyTorch pip wheel'ini elle yüklememiz ve Torchvision'ı kaynaktan derlememiz veya yüklememiz gerekir.
JP6.1'e uygun torch 2.10.0 ve torchvision 0.25.0 öğelerini 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 PyTorch'un tüm sürümlerine Jetson için PyTorch sayfasından ulaşabilirsin. PyTorch ve Torchvision uyumluluğunun daha ayrıntılı listesi 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 öğesini 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 öğesini yükle#
JetPack, Python ve CUDA sürümlerinle eşleşen bir ONNX Runtime GPU wheel'i kullan. PyPI'daki güncel sürümlerde ARM64 wheel'leri bulunsa da bunlar her JetPack sürümüne özgü paketlerin yerini tutmaz.
JetPack sürümü, Python sürümü ve diğer uyumluluk ayrıntılarına göre düzenlenmiş tüm onnxruntime-gpu paketlerini Jetson Zoo ONNX Runtime uyumluluk matrisinde bulabilirsin.
Python 3.10 desteğiyle JetPack 6 için onnxruntime-gpu 1.23.0 öğesini 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'de Çalıştır#
Ultralytics Paketini Yükle#
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. Jetson cihazlarından en yüksek performansı almamızı sağladığı için ağırlıklı olarak NVIDIA TensorRT dışa aktarımlarına odaklanacağız.
-
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 mimarisine dayalı Jetson platformuyla uyumlu değildir. Bu nedenle önceden oluşturulmuş bir PyTorch pip wheel'ini elle yüklememiz ve Torchvision'ı kaynaktan derlememiz veya yüklememiz gerekir.
-
Yüklü PyTorch ve Torchvision paketlerini kaldır
pip uninstall torch torchvision -
JP5.1.2'ye uygun
torch 2.1.0vetorchvision 0.16.2öğelerini 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 PyTorch'un tüm sürümlerine Jetson için PyTorch sayfasından ulaşabilirsin. PyTorch ve Torchvision uyumluluğunun daha ayrıntılı listesi için PyTorch ve Torchvision uyumluluk sayfasını ziyaret et.
onnxruntime-gpu öğesini yükle#
JetPack, Python ve CUDA sürümlerinle eşleşen bir ONNX Runtime GPU wheel'i kullan. PyPI'daki güncel sürümlerde ARM64 wheel'leri bulunsa da bunlar her JetPack sürümüne özgü paketlerin yerini tutmaz.
JetPack sürümü, Python sürümü ve diğer uyumluluk ayrıntılarına göre düzenlenmiş tüm onnxruntime-gpu paketlerini Jetson Zoo ONNX Runtime uyumluluk matrisinde bulabilirsin. Burada Python3.8 desteğiyle onnxruntime-gpu 1.17.0 öğesini 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 alır. Bu nedenle bir sorunu düzeltmek için aşağıdaki 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#
Ultralytics'in desteklediği tüm model dışa aktarma biçimleri arasında TensorRT, NVIDIA Jetson cihazlarında en yüksek çıkarım performansını sunar ve bu nedenle Jetson dağıtımları için ilk önerimizdir. Dışa aktarmadan önce JetPack sürümünle birlikte gelen TensorRT Python bağlamalarını yükle ve python3 -c "import tensorrt; print(tensorrt.__version__)" ile doğrula. JetPack 6/7'de desteklenen TensorRT 10.x çalışma zamanını kullan; TensorRT 11.2.1 ile değiştirme. Kurulum yönergeleri ve gelişmiş kullanım için TensorRT entegrasyon kılavuzumuza bak.
Derleme ortamını yerel olarak yapılandırmadan da tarayıcı üzerinden dışa aktarım yapabilirsin. Ultralytics Platform'daki model Dışa Aktar sekmesinde TensorRT'yi ve hedeflediğin Jetson cihazını seç. Thor seçenekleri fiziksel Thor donanımında doğrulanır. Altı Orin seçeneği şu anda AGX-Orin üzerinde oluşturulmuş aday motorlar üretir; dağıtımdan önce bu motorları hedeflediğin Orin SKU'sunda doğrula.
TensorRT, motoru derleme GPU'sunda 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ı arasında taşınabilirlik garanti edilmez; en iyi sonuçlar için INT8 kalibrasyonunu hedef cihazda yap.
Modeli TensorRT'ye Dönüştür ve Çıkarım Yap#
PyTorch biçimindeki YOLO26n modeli, dışa aktarılan modelle çıkarım yapmak üzere TensorRT'ye dönüştürülür.
from ultralytics import YOLO
# YOLO26n PyTorch modelini yükle
model = YOLO("yolo26n.pt")
# Modeli TensorRT'ye aktar
model.export(format="engine") # 'yolo26n.engine' oluşturur
# Dışa aktarılan TensorRT modelini yükle
trt_model = YOLO("yolo26n.engine")
# Çıkarımı çalıştır
results = trt_model("https://ultralytics.com/images/bus.jpg")Modelleri farklı biçimlerde dışa aktarırken ek bağımsız değişkenlere ulaşmak için Dışa Aktarma sayfasını ziyaret et
NVIDIA Derin Öğrenme Hızlandırıcısını (DLA) Kullan#
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 iş hacmini korurken modellerin daha az güç tüketerek çalışmasını sağlar; bu özellik gömülü sistemler ve gerçek zamanlı AI uygulamaları için idealdir.
NVIDIA, DLA desteği sunan son sürümün TensorRT 10.7 olduğunu belirtiyor; TensorRT 11.0, 11.1 ve 11.2 DLA'yı desteklemiyor. JetPack sürümünün desteklediği, DLA uyumlu bir TensorRT sürümü kullan. TensorRT 11.2.1, yalnızca GPU kullanan dışa aktarımlar da dahil olmak üzere JetPack'i desteklemiyor.
Aşağıdaki Jetson cihazlarında DLA donanımı bulunur:
| 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
# YOLO26n PyTorch modelini yükle
model = YOLO("yolo26n.pt")
# DLA etkin olacak şekilde modeli TensorRT'ye aktar (yalnızca FP16 veya INT8 ile çalışır)
model.export(format="engine", device="dla:0", quantize=16) # dla:0 veya dla:1, DLA çekirdeklerine karşılık gelir
# Dışa aktarılan TensorRT modelini yükle
trt_model = YOLO("yolo26n.engine")
# Çıkarımı çalıştır
results = trt_model("https://ultralytics.com/images/bus.jpg")DLA dışa aktarımları kullanılırken bazı katmanlar DLA'da çalışmayı desteklemeyebilir ve yürütme için GPU'ya geri döner. Bu geri dönüş ek gecikmeye neden olabilir ve genel çıkarım performansını etkileyebilir. Bu nedenle DLA, tamamen GPU'da çalışan TensorRT'ye kıyasla çıkarım gecikmesini azaltmak için tasarlanmamıştır. Temel amacı bunun yerine iş hacmini artırmak ve enerji verimliliğini iyileştirmektir.
NVIDIA Jetson YOLO26 Karşılaştırma Sonuçları#
YOLO26 karşılaştırma testleri, Ultralytics ekibi tarafından hız ve doğruluğu ölçmek üzere 11 farklı model biçiminde gerçekleştirildi: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch. Testler; 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ıyla çalışan Seeed Studio reComputer J4012 üzerinde, varsayılan 640 giriş görüntüsü boyutunda FP32 hassasiyetiyle gerçekleştirildi.
Karşılaştırma Grafikleri#
Tüm model dışa aktarımları NVIDIA Jetson'da çalışsa da aşağıdaki karşılaştırma grafiğine yalnızca PyTorch, TorchScript ve TensorRT'yi ekledik; çünkü bunlar Jetson'daki GPU'dan yararlanır ve en iyi sonuçları verdiği garanti edilir. Diğer tüm dışa aktarma biçimleri yalnızca CPU'yu kullanır ve performansları bu üç biçim kadar iyi değildir. Tüm dışa aktarma biçimlerine ait karşılaştırma sonuçlarını bu grafikten sonraki bölümde bulabilirsin.
NVIDIA Jetson AGX Thor Geliştirici Kiti#
NVIDIA Jetson AGX Orin Geliştirici Kiti (64GB)#
NVIDIA Jetson Orin Nano Super Geliştirici Kiti#
NVIDIA Jetson Orin NX 16GB#
Ayrıntılı Karşılaştırma Tabloları#
Aşağıdaki tablo, 11 farklı formatta (PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF Lite, MNN, NCNN, ExecuTorch) beş farklı modelin (YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x) kıyaslama sonuçlarını gösterir; her kombinasyon için durumu, boyutu, mAP50-95(B) metriğini ve çıkarım süresini sunar.
NVIDIA Jetson AGX Thor Geliştirici Kiti#
| 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 kıyaslandı
Çıkarım süresine ön/son işleme dahil değildir.
NVIDIA Jetson AGX Orin Geliştirici Kiti (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.4770 | 4.18 |
| TensorRT (FP16) | ✅ | 7.9 | 0.4789 | 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 kıyaslandı
Çıkarım süresine ön/son işleme dahil değildir.
NVIDIA Jetson Orin Nano Super Geliştirici Kiti#
| 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 kıyaslandı
Çı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 kıyaslandı
Çıkarım süresine ön/son işleme dahil değildir.
Farklı NVIDIA Jetson donanım sürümlerinde çalışan Seeed Studio'nun diğer kıyaslama çalışmalarını keşfet.
Sonuçlarımızı Yeniden Üretme#
Yukarıdaki Ultralytics kıyaslamalarını tüm dışa aktarma formatlarında yeniden üretmek için şu kodu çalıştır:
from ultralytics import YOLO
# YOLO26n PyTorch modelini yükle
model = YOLO("yolo26n.pt")
# COCO128 veri kümesinde YOLO26n hızını ve doğruluğunu tüm dışa aktarma formatları için kıyasla
results = model.benchmark(data="coco128.yaml", imgsz=640)Kıyaslama sonuçlarının sistemin tam donanım ve yazılım yapılandırmasına ve kıyaslamalar çalıştırılırken sistemin mevcut iş yüküne göre 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ımı için En İyi Uygulamalar#
NVIDIA Jetson kullanırken, YOLO26 çalıştıran NVIDIA Jetson'da en yüksek performansı elde etmek için izlemen gereken birkaç en iyi uygulama vardır.
-
MAX Güç Modunu Etkinleştir
Jetson'da MAX Güç Modunu etkinleştirmek, tüm CPU ve GPU çekirdeklerinin açık olmasını sağlar.
sudo nvpmodel -m 0 -
Jetson Clocks'u Etkinleştir
Jetson Clocks'u etkinleştirmek, tüm CPU ve GPU çekirdeklerinin en yüksek frekanslarında çalışmasını sağlar.
sudo jetson_clocks -
Jetson Stats Uygulamasını Yükle
Sistem bileşenlerinin sıcaklıklarını izlemek ve CPU, GPU, RAM kullanımını görüntülemek, güç modlarını değiştirmek, en yüksek saat hızlarını ayarlamak ve JetPack bilgilerini kontrol etmek 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 belleği az olan Jetson cihazlarında genellikle sınırlayıcı etkendir. Aşağıdaki ipuçları, bir arada uygulandığında yüzlerce megabayt bellek boşaltabilecek ve daha büyük YOLO modellerini çalıştırmanı ya da ek paralel iş yüklerini desteklemeni sağlayabilecek pratik, düşük riskli değişikliklerdir. Kapsamlı bilgi için Jetson'da bellek verimliliğini en üst düzeye çıkarmaya yönelik NVIDIA blog yazısına göz at.
1. Başsız (GUI'siz) Önyüklemeye Geç#
Jetson'ına SSH üzerinden bağlanıyorsan veya ekrana bağlı olmadan bir üretim cihazı olarak çalıştırıyorsan, masaüstü ortamını ve görüntü sunucusunu kaldırarak 865 MB'a kadar RAM kazanabilirsin:
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ırak#
Gerekli olmayan arka plan hizmetleri (Bluetooth, bağlantı yöneticileri, kullanılmayan donanım arka plan süreçleri) toplamda yaklaşık 32 MB bellek kullanır. Etkin hizmetleri listele ve dağıtımında gerekmeyenleri 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ı Profille#
Optimizasyon yapmadan önce hangi süreçlerin gerçekten RAM kullandığını belirle. procrank, süreçleri PSS'ye (Orantılı Küme Boyutu) göre sıralar; PSS, bir sürecin diğer süreçlerle paylaşılan sayfalar dahil eşlenmiş toplam fiziksel RAM sayfalarını ifade eden RSS'den (Yerleşik Küme Boyutu) farklı olarak, süreç başına gerçek bellek ayak izini daha doğru yansıtır:
git clone https://github.com/csimmonds/procrank_linux.git
cd procrank_linux && make
sudo ./procrankSüreç başına GPU ve NvMap (CUDA/video işlem hattı) bellek ayırmalarını görmek için:
sudo cat /sys/kernel/debug/nvmap/iovmm/clients4. Üretimde Görüntü Olmadan Çıkarım Çalıştır#
Canlı önizleme gerektirmeyen çıkarım işlem hatlarında, görüntüyle ilgili bileşenleri (Tiler, OSD, DisplaySink) devre dışı bırakmak yalnızca işlem hattından 200+ MB kazandırabilir. Ultralytics YOLO ile görüntüleyiciyi kapat ve sonuçları bunun yerine diske yaz:
from ultralytics import YOLO
model = YOLO("yolo26n.engine")
# show=False herhangi bir görüntü penceresinin açılmasını önler; save=True açıklama eklenmiş çıktıyı diske yazar
results = model.predict(source="video.mp4", show=False, save=True)Toplam Etki#
| Optimizasyon | Yaklaşık Kazanılan Bellek |
|---|---|
| Masaüstü GUI'sini devre dışı bırak | ~865 MB |
| Kullanılmayan işletim sistemi hizmetlerini devre dışı bırak | ~32 MB |
| Başsız çıkarım işlem hattı (görüntü yok) | ~200+ MB |
| Toplam (kolay kazanımlar) | ~1 GB+ |
Bu değişiklikleri bir arada uygulamak, belleğin sınırlı olduğu cihazlarda TensorRT INT8 modellerini hedeflerken özellikle yararlıdır; daha büyük bir model varyantını belleğe sığdırıp sığdıramaman arasındaki farkı yaratabilir.
Sonraki Adımlar#
Daha fazla bilgi ve destek için Ultralytics YOLO26 Belgeleri sayfasına göz at.
Sık Sorulan Sorular#
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 elle yükleyebilirsin. Her iki yaklaşım için ayrıntılı adımları Docker ile Hızlı Başlangıç ve Yerel Kurulumla Başla bölümlerinde bulabilirsin.
YOLO26 modelleri, önemli performans iyileştirmeleri gösteren çeşitli NVIDIA Jetson cihazlarında kıyaslandı. Örneğin TensorRT formatı en iyi çıkarım performansını sunar. Ayrıntılı Karşılaştırma Tabloları bölümündeki tablo, farklı model formatlarındaki mAP50-95 ve çıkarım süresi gibi performans ölçümlerine kapsamlı bir bakış sunar.
Üstün performansı nedeniyle NVIDIA Jetson'da YOLO26 modellerini dağıtmak için TensorRT özellikle önerilir. Jetson'ın GPU özelliklerinden yararlanarak çıkarımı hızlandırır, en yüksek verimliliği ve hızı sağlar. TensorRT'ye dönüştürme ve çıkarım çalıştırma hakkında daha fazla bilgi için NVIDIA Jetson'da TensorRT Kullanımı bölümüne göz at.
NVIDIA Jetson'a PyTorch ve Torchvision 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 elle yükle. Bu süreçle ilgili ayrıntılı talimatları PyTorch ve Torchvision'ı Yükleme bölümünde bulabilirsin.
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 en yüksek frekanslarında çalıştırmak için Jetson Clocks'u 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ımı için En İyi Uygulamalar bölümüne bak.
Kullanılabilir RAM, belleği az olan Jetson cihazlarında genellikle darboğazdır. Bir arada 1 GB'tan fazla bellek kazandırabilecek üç kolay yöntem:
- Başsız önyüklemeye geç (
sudo systemctl set-default multi-user.target) ve masaüstü GUI'sini kaldır (~865 MB kazanım). - Bluetooth veya bağlantı yöneticileri gibi kullanılmayan hizmetleri devre dışı bırak (~32 MB kazanım).
- YOLO
predictçağrındashow=Falseayarlayarak görüntü olmadan çıkarım çalıştır; bu, görüntü işleme hattı için bellek ayrılmasını önler (~200+ MB kazanım).
Süreç başına RAM kullanımını profillemek için
procrank, GPU bellek ayırmalarını 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 göz at.- Başsız önyüklemeye geç (
JetPack 6 ile gelen TensorRT 10.3.0'da, NMS'siz (
nms=False) INT8 motorlarının oluşturulmasını engelleyen bilinen bir sorun vardır. Ultralytics bu birleşimi algıladığında, dışa aktarımın başarıyla tamamlanmasını sağlamak için çoklu eşlemeli başlığı otomatik olarak seçer.NMS'siz INT8 dışa aktarımlarını yeniden etkinleştirmek 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 işleminden sonra dışa aktarımı yeniden çalıştır. Daha fazla bilgi için GitHub sorunu #23841 sayfasına bak.