Ultralytics YOLO27:
Get Started

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.

Yeni ürün desteği

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
NVIDIA Jetson Ecosystem
Not

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 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
Yapay Zekâ Performansı2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPU96 Tensor Core içeren 2560 çekirdekli NVIDIA Blackwell mimarisi GPU64 Tensor Core içeren 2048 çekirdekli NVIDIA Ampere mimarisi GPU32 Tensor Core içeren 1024 çekirdekli NVIDIA Ampere mimarisi GPU32 Tensor Core içeren 1024 çekirdekli NVIDIA Ampere mimarisi GPU64 Tensor Core içeren 512 çekirdekli NVIDIA Volta mimarisi GPU48 Tensor Core içeren 384 çekirdekli NVIDIA Volta™ mimarisi GPU128 çekirdekli NVIDIA Maxwell™ mimarisi GPU
GPU Maksimum Frekansı1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPU14 çekirdekli Arm® Neoverse®-V3AE 64 bit CPU, 1 MB L2 + 16 MB L312 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 3 MB L2 + 6 MB L38 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 2 MB L2 + 4 MB L36 çekirdekli Arm® Cortex®-A78AE v8.2 64 bit CPU 1,5 MB L2 + 4 MB L38 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU 8 MB L2 + 4 MB L36 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU 6 MB L2 + 4 MB L3Dört çekirdekli Arm® Cortex®-A57 MPCore işlemci
CPU Maksimum Frekansı2.6 GHz2.2 GHz2.0 GHz1.7 GHz2.2 GHz1.9 GHz1.43GHz
Bellek128 GB 256 bit LPDDR5X 273 GB/sn64 GB 256 bit LPDDR5 204,8 GB/sn16 GB 128 bit LPDDR5 102,4 GB/sn8 GB 128 bit LPDDR5 102 GB/sn32 GB 256 bit LPDDR4x 136,5 GB/sn8 GB 128 bit LPDDR4x 59,7 GB/sn4 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.

  1. 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.
  2. 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.
  3. Başka bir NVIDIA Development Kit'e sahipsen SDK Manager kullanarak JetPack'i cihaza yükleyebilirsin.
  4. 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.
  5. NVIDIA Jetson modülüyle çalışan başka bir üçüncü taraf cihaza sahipsen komut satırından yükleme yöntemini izlemen önerilir.
Not

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 4JetPack 5JetPack 6JetPack 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 $t
JetPack 7 Docker ve TensorRT desteği

latest-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.

  1. 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
  2. ultralytics pip paketini yükle

    pip install ultralytics
  3. 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/cu130

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.

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.whl

JetPack 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.

  1. 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
  2. ultralytics pip paketini yükle

    pip install ultralytics
  3. 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.whl
Not

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.

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 cudss

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.

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.whl

Alternatif 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.whl

JetPack 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.

  1. 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
  2. ultralytics pip paketini yükle

    pip install ultralytics
  3. 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.

  1. Yüklü PyTorch ve Torchvision paketlerini kaldır

    pip uninstall torch torchvision
  2. JP5.1.2'ye uygun torch 2.1.0 ve torchvision 0.16.2 öğelerini yükle

    pip 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
Not

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.whl
Not

onnxruntime-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 motorları cihaza özeldir

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.

Örnek
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")
Not

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.

TensorRT ve DLA uyumluluğu

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 ÇekirdekleriDLA Maksimum Frekansı
Jetson AGX Orin Serisi21.6 GHz
Jetson Orin NX 16GB2614 MHz
Jetson Orin NX 8GB1614 MHz
Jetson AGX Xavier Serisi21.4 GHz
Jetson Xavier NX Serisi21.1 GHz
Örnek
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")
Not

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#

Jetson AGX Thor Benchmarks
Ultralytics 8.3.226 ile kıyaslama yapıldı

NVIDIA Jetson AGX Orin Geliştirici Kiti (64GB)#

Jetson AGX Orin Benchmarks
Ultralytics 8.4.32 ile kıyaslama yapıldı

NVIDIA Jetson Orin Nano Super Geliştirici Kiti#

Jetson Orin Nano Super Benchmarks
Ultralytics 8.4.33 ile kıyaslama yapıldı

NVIDIA Jetson Orin NX 16GB#

Jetson Orin NX 16GB Benchmarks
Ultralytics 8.4.33 ile kıyaslama yapıldı

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#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch✅5.30.47987.39
TorchScript✅9.80.47894.21
ONNX✅9.50.47676.58
OpenVINO✅10.10.479417.50
TensorRT (FP32)✅13.90.47911.90
TensorRT (FP16)✅7.60.47971.39
TensorRT (INT8)✅6.50.42731.52
TF SavedModel✅25.70.476447.24
TF GraphDef✅9.50.476445.98
TF Lite✅9.90.4764182.04
MNN✅9.40.478421.83

Ultralytics 8.4.7 ile kıyaslandı

Not

Çıkarım süresine ön/son işleme dahil değildir.

NVIDIA Jetson AGX Orin Geliştirici Kiti (64GB)#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch✅5.30.479011.58
TorchScript✅9.80.47704.60
ONNX✅9.50.47709.87
OpenVINO✅9.60.482028.80
TensorRT (FP32)✅11.50.47704.18
TensorRT (FP16)✅7.90.47892.62
TensorRT (INT8)✅5.40.46402.30
TF SavedModel✅24.60.476071.10
TF GraphDef✅9.50.476070.02
TF Lite✅9.90.4760227.94
MNN✅9.40.476032.46
NCNN✅9.30.481029.93

Ultralytics 8.4.32 ile kıyaslandı

Not

Çıkarım süresine ön/son işleme dahil değildir.

NVIDIA Jetson Orin Nano Super Geliştirici Kiti#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch✅5.30.479015.60
TorchScript✅9.80.477012.60
ONNX✅9.50.476015.76
OpenVINO✅9.60.482056.23
TensorRT (FP32)✅11.30.47707.53
TensorRT (FP16)✅8.10.48004.57
TensorRT (INT8)✅5.30.44903.80
TF SavedModel✅24.60.4760118.33
TF GraphDef✅9.50.4760116.30
TF Lite✅9.90.4760286.00
MNN✅9.40.476068.77
NCNN✅9.30.481047.50

Ultralytics 8.4.33 ile kıyaslandı

Not

Çıkarım süresine ön/son işleme dahil değildir.

NVIDIA Jetson Orin NX 16GB#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch✅5.30.479913.90
TorchScript✅9.80.478711.60
ONNX✅9.50.476314.18
OpenVINO✅9.60.481940.19
TensorRT (FP32)✅11.40.47707.01
TensorRT (FP16)✅8.00.47894.13
TensorRT (INT8)✅5.50.44893.49
TF SavedModel✅24.60.476492.34
TF GraphDef✅9.50.476492.06
TF Lite✅9.90.4764254.43
MNN✅9.40.476048.55
NCNN✅9.30.480534.31

Ultralytics 8.4.33 ile kıyaslandı

Not

Çı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:

Örnek
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.

  1. 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
  2. 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
  3. 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
Jetson Stats

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 reboot

Masaüstünü daha sonra geri yüklemek için:

sudo systemctl set-default graphical.target
sudo reboot

2. 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_NAME

3. 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 ./procrank

Sü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/clients

4. Ü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:

Örnek
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#

OptimizasyonYaklaşı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:

    1. Tüm CPU ve GPU çekirdeklerinden yararlanmak için MAX Güç Modunu etkinleştir.
    2. Tüm çekirdekleri en yüksek frekanslarında çalıştırmak için Jetson Clocks'u etkinleştir.
    3. 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:

    1. Başsız önyüklemeye geç (sudo systemctl set-default multi-user.target) ve masaüstü GUI'sini kaldır (~865 MB kazanım).
    2. Bluetooth veya bağlantı yöneticileri gibi kullanılmayan hizmetleri devre dışı bırak (~32 MB kazanım).
    3. YOLO predict çağrında show=False ayarlayarak 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çin sudo cat /sys/kernel/debug/nvmap/iovmm/clients kullan. Tüm ayrıntılar için Bellek Optimizasyonu İpuçları bölümüne göz at.

  • 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 tensorrt

    Yükseltme işleminden sonra dışa aktarımı yeniden çalıştır. Daha fazla bilgi için GitHub sorunu #23841 sayfasına bak.

Yorumlar