Ultralytics YOLO27:

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.

Yeni ürün desteği

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

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 64GBJetson Orin NX 16GBJetson Orin Nano SuperJetson AGX XavierJetson Xavier NXJetson Nano
AI Performansı2070 TFLOPS275 TOPS100 TOPS67 TOPS32 TOPS21 TOPS472 GFLOPS
GPU96 Tensor Cores içeren 2560 çekirdekli NVIDIA Blackwell mimarili GPU64 Tensor Cores içeren 2048 çekirdekli NVIDIA Ampere mimarili GPU32 Tensor Cores içeren 1024 çekirdekli NVIDIA Ampere mimarili GPU32 Tensor Cores içeren 1024 çekirdekli NVIDIA Ampere mimarili GPU64 Tensor Cores içeren 512 çekirdekli NVIDIA Volta mimarili GPU48 Tensor Cores içeren 384 çekirdekli NVIDIA Volta™ mimarili GPU128 çekirdekli NVIDIA Maxwell™ mimarili GPU
GPU Maksimum Frekansı1.57 GHz1.3 GHz918 MHz1020 MHz1377 MHz1100 MHz921MHz
CPU14 çekirdekli Arm® Neoverse®-V3AE 64 bit CPU, 1MB L2 + 16MB L312 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 3MB L2 + 6MB L38 çekirdekli NVIDIA Arm® Cortex A78AE v8.2 64 bit CPU, 2MB L2 + 4MB L36 çekirdekli Arm® Cortex®-A78AE v8.2 64 bit CPU, 1.5MB L2 + 4MB L38 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU, 8MB L2 + 4MB L36 çekirdekli NVIDIA Carmel Arm®v8.2 64 bit CPU, 6MB L2 + 4MB 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
Bellek128GB 256 bit LPDDR5X 273GB/s64GB 256 bit LPDDR5 204.8GB/s16GB 128 bit LPDDR5 102.4GB/s8GB 128 bit LPDDR5 102 GB/s32GB 256 bit LPDDR4x 136.5GB/s8GB 128 bit LPDDR4x 59.7GB/s4GB 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.

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

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

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

  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 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/cu130

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.

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

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

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

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.

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 cudss

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.

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

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

  1. Şu anda yüklü PyTorch ve Torchvision'ı kaldır

    pip uninstall torch torchvision
  2. JP5.1.2'ye göre torch 2.1.0 ve torchvision 0.16.2 paketlerini 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 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.whl
Not

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

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.

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

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.

TensorRT ve DLA uyumluluğu

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

# 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")
Not

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#

Jetson AGX Thor Benchmarks
Benchmarked with Ultralytics 8.3.226

NVIDIA Jetson AGX Orin Developer Kit (64GB)#

Jetson AGX Orin Benchmarks
Benchmarked with Ultralytics 8.4.32

NVIDIA Jetson Orin Nano Super Developer Kit#

Jetson Orin Nano Super Benchmarks
Benchmarked with Ultralytics 8.4.33

NVIDIA Jetson Orin NX 16GB#

Jetson Orin NX 16GB Benchmarks
Benchmarked with Ultralytics 8.4.33

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#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch5.30.47987.39
TorchScript9.80.47894.21
ONNX9.50.47676.58
OpenVINO10.10.479417.50
TensorRT (FP32)13.90.47911.90
TensorRT (FP16)7.60.47971.39
TensorRT (INT8)6.50.42731.52
TF SavedModel25.70.476447.24
TF GraphDef9.50.476445.98
TF Lite9.90.4764182.04
MNN9.40.478421.83

Ultralytics 8.4.7 ile karşılaştırıldı

Not

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

NVIDIA Jetson AGX Orin Developer Kit (64GB)#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch5.30.479011.58
TorchScript9.80.47704.60
ONNX9.50.47709.87
OpenVINO9.60.482028.80
TensorRT (FP32)11.50.04504.18
TensorRT (FP16)7.90.04502.62
TensorRT (INT8)5.40.46402.30
TF SavedModel24.60.476071.10
TF GraphDef9.50.476070.02
TF Lite9.90.4760227.94
MNN9.40.476032.46
NCNN9.30.481029.93

Ultralytics 8.4.32 ile karşılaştırıldı

Not

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

NVIDIA Jetson Orin Nano Super Developer Kit#

Performans
BiçimDurumDiskteki boyut (MB)mAP50-95(B)Çıkarım süresi (ms/im)
PyTorch5.30.479015.60
TorchScript9.80.477012.60
ONNX9.50.476015.76
OpenVINO9.60.482056.23
TensorRT (FP32)11.30.47707.53
TensorRT (FP16)8.10.48004.57
TensorRT (INT8)5.30.44903.80
TF SavedModel24.60.4760118.33
TF GraphDef9.50.4760116.30
TF Lite9.90.4760286.00
MNN9.40.476068.77
NCNN9.30.481047.50

Ultralytics 8.4.33 ile karşılaştırıldı

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)
PyTorch5.30.479913.90
TorchScript9.80.478711.60
ONNX9.50.476314.18
OpenVINO9.60.481940.19
TensorRT (FP32)11.40.47707.01
TensorRT (FP16)8.00.47894.13
TensorRT (INT8)5.50.44893.49
TF SavedModel24.60.476492.34
TF GraphDef9.50.476492.06
TF Lite9.90.4764254.43
MNN9.40.476048.55
NCNN9.30.480534.31

Ultralytics 8.4.33 ile karşılaştırıldı

Not

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

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

  1. 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
  2. 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
  3. 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
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 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 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ı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_NAME

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

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

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

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

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

    1. Masaüstü GUI'sini kaldırmak için başsız önyüklemeye geç (sudo systemctl set-default multi-user.target) (~865 MB tasarruf).
    2. Bluetooth veya bağlantı yöneticileri gibi kullanılmayan hizmetleri devre dışı bırak (~32 MB tasarruf).
    3. YOLO predict çağrında show=False ayarı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ç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 bakabilirsin.

  • JetPack 6 ile birlikte gelen TensorRT 10.3.0, nms=False etkinleş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 tensorrt

    Yükseltme sonrasında dışa aktarımını yeniden çalıştır. Daha fazla ayrıntı için GitHub issue #23841 sayfasına bakabilirsin.

Yorumlar