YOLO26 Modelleri için TensorRT Dışa Aktarımı

Bilgisayarlı görü modellerini yüksek performanslı ortamlarda devreye almak, hızı ve verimliliği en üst düzeye çıkaran bir format gerektirebilir. Bu, özellikle modelini NVIDIA GPU'larında devreye alırken geçerlidir.

TensorRT dışa aktarma formatını kullanarak, Ultralytics YOLO26 modellerini NVIDIA donanımı üzerinde hızlı ve verimli çıkarım için geliştirebilirsin. Bu kılavuz, dönüştürme süreci için takip etmesi kolay adımlar sunacak ve derin öğrenme projelerinde NVIDIA'nın ileri teknolojisinden en iyi şekilde yararlanmana yardımcı olacaktır.

TensorRT

NVIDIA TensorRT optimization workflow

NVIDIA tarafından geliştirilen TensorRT, yüksek hızlı derin öğrenme çıkarımı için tasarlanmış gelişmiş bir yazılım geliştirme kitidir (SDK). Nesne tespiti gibi gerçek zamanlı uygulamalar için oldukça uygundur.

Bu araç seti, derin öğrenme modellerini NVIDIA GPU'ları için optimize eder ve daha hızlı, daha verimli işlemler sağlar. TensorRT modelleri, katman füzyonu, hassasiyet kalibrasyonu (INT8 ve FP16), dinamik tensör bellek yönetimi ve çekirdek otomatik ayarlama gibi teknikleri içeren TensorRT optimizasyonundan geçer. Derin öğrenme modellerini TensorRT formatına dönüştürmek, geliştiricilerin NVIDIA GPU'larının potansiyelini tam olarak gerçekleştirmelerine olanak tanır.

TensorRT, TensorFlow, PyTorch ve ONNX dahil olmak üzere çeşitli model formatlarıyla uyumluluğu ile bilinir ve geliştiricilere farklı çerçevelerden modelleri entegre etmek ve optimize etmek için esnek bir çözüm sunar. Bu çok yönlülük, çeşitli donanım ve yazılım ortamlarında verimli model dağıtımı sağlar.

TensorRT Modellerinin Temel Özellikleri

TensorRT modelleri, yüksek hızlı derin öğrenme çıkarımında verimliliklerine ve etkinliklerine katkıda bulunan bir dizi temel özellik sunar:

  • Hassasiyet Kalibrasyonu: TensorRT, modellerin belirli doğruluk gereksinimleri için ince ayar yapılmasına olanak tanıyan hassasiyet kalibrasyonunu destekler. Buna, çıkarım hızını artırırken kabul edilebilir doğruluk seviyelerini koruyabilen INT8 ve FP16 gibi düşük hassasiyetli formatlar desteği dahildir.

  • Katman Füzyonu: TensorRT optimizasyon süreci, bir sinir ağının birden fazla katmanının tek bir işlemde birleştirildiği katman füzyonunu içerir. Bu, bellek erişimini ve hesaplamayı en aza indirerek işlem yükünü azaltır ve çıkarım hızını artırır.

TensorRT neural network layer fusion optimization

  • Dinamik Tensör Bellek Yönetimi: TensorRT, çıkarım sırasında tensör bellek kullanımını verimli bir şekilde yöneterek bellek yükünü azaltır ve bellek tahsisini optimize eder. Bu, daha verimli GPU bellek kullanımı sağlar.

  • Otomatik Çekirdek Ayarlama: TensorRT, modelin her katmanı için en optimize GPU çekirdeğini seçmek üzere otomatik çekirdek ayarlaması uygular. Bu uyarlanabilir yaklaşım, modelin GPU'nun hesaplama gücünden tam olarak yararlanmasını sağlar.

TensorRT'de Dağıtım Seçenekleri

YOLO26 modellerini TensorRT formatına aktarmak için koda bakmadan önce, TensorRT modellerinin normalde nerede kullanıldığını anlayalım.

TensorRT çeşitli dağıtım seçenekleri sunar ve her seçenek entegrasyon kolaylığını, performans optimizasyonunu ve esnekliği farklı şekillerde dengeler:

  • TensorFlow içinde dağıtım: Bu yöntem TensorRT'yi TensorFlow'a entegre ederek optimize edilmiş modellerin tanıdık bir TensorFlow ortamında çalışmasını sağlar. TF-TRT bunları verimli bir şekilde işleyebildiğinden, desteklenen ve desteklenmeyen katmanların bir karışımına sahip modeller için kullanışlıdır.

NVIDIA TensorRT optimization workflow

  • Bağımsız TensorRT Çalışma Zamanı API'si: Performans açısından kritik uygulamalar için ideal olan ayrıntılı kontrol sunar. Daha karmaşıktır ancak desteklenmeyen operatörlerin özel olarak uygulanmasına olanak tanır.

  • NVIDIA Triton Inference Server: Çeşitli çerçevelerden modelleri destekleyen bir seçenektir. Özellikle bulut veya uç çıkarımı için uygundur; eşzamanlı model yürütme ve model analizi gibi özellikler sağlar.

YOLO26 Modellerini TensorRT'ye Aktarma

YOLO26 modellerini TensorRT formatına dönüştürerek yürütme verimliliğini artırabilir ve performansı optimize edebilirsin.

Kurulum

Gerekli paketi yüklemek için şunu çalıştır:

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için YOLO26 Kurulum rehberimize göz at. YOLO26 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsan, çözümler ve ipuçları için Yaygın Sorunlar rehberimize başvur.

Kullanım

Kullanım talimatlarına dalmadan önce, Ultralytics tarafından sunulan YOLO26 modellerine göz atmayı unutma. Bu, proje gereksinimlerin için en uygun modeli seçmene yardımcı olacaktır.

Kullanım
from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TensorRT format
model.export(format="engine")  # creates 'yolo26n.engine'

# Load the exported TensorRT model
tensorrt_model = YOLO("yolo26n.engine")

# Run inference
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")

Dışa Aktarma Argümanları

ArgümanTürVarsayılanAçıklama
formatstr'engine'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format.
imgszint veya tuple640Desired image size for the model input. Can be an integer for square images or a tuple (height, width) for specific dimensions.
halfboolFalseFP16 (yarım hassasiyet) nicelemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarım hızını potansiyel olarak artırır.
int8boolFalseINT8 nicelemeyi etkinleştirerek modeli daha da sıkıştırır ve minimum doğruluk kaybıyla, öncelikle uç cihazlar için çıkarımı hızlandırır.
dynamicboolFalseDeğişken görüntü boyutlarını işlemede esnekliği artırarak dinamik giriş boyutlarına izin verir.
simplifyboolTrueModel grafiğini onnxslim ile basitleştirir, potansiyel olarak performansı ve uyumluluğu artırır.
workspacefloat veya NoneNoneTensorRT optimizasyonları için GiB cinsinden maksimum çalışma alanı boyutunu ayarlar, bellek kullanımı ve performans arasında denge kurar; TensorRT tarafından cihaz maksimumuna kadar otomatik tahsis için None kullan.
nmsboolFalseDoğru ve verimli tespit sonrası işleme için gerekli olan Maksimum Olmayan Bastırma (NMS) özelliğini ekler.
batchint1Modelin dışa aktarılan toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir.
datastr'coco8.yaml'Niceleme (quantization) için gerekli olan dataset yapılandırma dosyasının yolu (varsayılan: coco8.yaml).
fractionfloat1.0INT8 niceleme kalibrasyonu için kullanılacak veri kümesi oranını belirtir. Tam veri kümesinin bir alt kümesinde kalibrasyon yapmaya olanak tanır; bu, deneyler veya kaynaklar sınırlı olduğunda kullanışlıdır. INT8 etkinken belirtilmezse, veri kümesinin tamamı kullanılır.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), NVIDIA Jetson için DLA (device=dla:0 veya device=dla:1).
İpucu

Lütfen TensorRT'ye aktarırken CUDA destekli bir GPU kullandığından emin ol.

Dışa aktarma süreci hakkında daha fazla ayrıntı için dışa aktarma ile ilgili Ultralytics dokümantasyon sayfasını ziyaret et.

INT8 Kuantizasyonu ile TensorRT Dışa Aktarımı

Ultralytics YOLO modellerini INT8 hassasiyeti ile TensorRT kullanarak dışa aktarmak, eğitim sonrası kuantizasyon (PTQ) yürütür. TensorRT, PTQ için kalibrasyon kullanır; bu, YOLO modeli temsilci giriş verileri üzerinde çıkarım yaparken her aktivasyon tensöründeki aktivasyon dağılımını ölçer ve ardından her tensör için ölçek değerlerini tahmin etmek üzere bu dağılımı kullanır. Kuantizasyon adayı olan her aktivasyon tensörünün, kalibrasyon süreciyle çıkarılan ilişkili bir ölçeği vardır.

Örtük olarak kuantize edilmiş ağları işlerken TensorRT, katman yürütme süresini optimize etmek için INT8'i fırsatçı bir şekilde kullanır. Bir katman INT8'de daha hızlı çalışıyorsa ve veri girişleri ile çıkışlarında atanmış kuantizasyon ölçekleri varsa, o katmana INT8 hassasiyetli bir çekirdek atanır, aksi takdirde TensorRT o katman için daha hızlı yürütme süresi sağlayan hangisi ise FP32 veya FP16 hassasiyetini seçer.

İpucu

Kalibrasyon sonuçları cihazlar arasında farklılık gösterebileceğinden, dağıtım için TensorRT model ağırlıklarını kullanacak cihazın INT8 hassasiyetiyle dışa aktarma için de kullanıldığından emin olmak kritiktir.

INT8 Dışa Aktarımını Yapılandırma

Bir Ultralytics YOLO modeli için export kullanılırken sağlanan bağımsız değişkenler, dışa aktarılan modelin performansını büyük ölçüde etkileyecektir. Ayrıca mevcut cihaz kaynaklarına göre seçilmeleri gerekecektir, ancak varsayılan bağımsız değişkenler çoğu Ampere (veya daha yeni) NVIDIA ayrık GPU'lar için çalışmalıdır. Kullanılan kalibrasyon algoritması "MINMAX_CALIBRATION"'dır ve mevcut seçenekler hakkında daha fazla bilgiyi TensorRT Geliştirici Kılavuzu'nda bulabilirsin. Ultralytics testleri "MINMAX_CALIBRATION"'ın en iyi seçenek olduğunu buldu ve dışa aktarmalar bu algoritmayı kullanacak şekilde sabitlendi.

  • workspace : Model ağırlıklarını dönüştürürken cihaz belleği tahsisinin boyutunu (GiB cinsinden) kontrol eder.

    • workspace değerini kalibrasyon ihtiyaçlarına ve kaynak durumuna göre ayarla. Daha büyük bir workspace kalibrasyon süresini artırabilse de, TensorRT'nin daha geniş bir optimizasyon taktiği yelpazesini keşfetmesine olanak tanır ve potansiyel olarak model performansını ve doğruluğunu artırır. Tersine, daha küçük bir workspace kalibrasyon süresini azaltabilir ancak optimizasyon stratejilerini sınırlayarak kuantize edilmiş modelin kalitesini etkileyebilir.

    • Varsayılan değer workspace=None'dır, bu TensorRT'nin otomatik olarak bellek tahsis etmesine olanak tanır; manuel yapılandırma sırasında, kalibrasyon çökerse (uyarı vermeden çıkarsa) bu değerin artırılması gerekebilir.

    • TensorRT will report UNSUPPORTED_STATE during export if the value for workspace is larger than the memory available to the device, which means the value for workspace should be lowered or set to None.

    • Eğer workspace maksimum değere ayarlanmışsa ve kalibrasyon başarısız olursa/çökerse, otomatik tahsis için None kullanmayı veya bellek gereksinimlerini azaltmak için imgsz ve batch değerlerini düşürmeyi düşün.

    • Unutma, INT8 için kalibrasyon her cihaza özeldir, kalibrasyon için "üst düzey" bir GPU ödünç almak, başka bir cihazda çıkarım yapıldığında düşük performansa neden olabilir.

  • batch : Çıkarım için kullanılacak maksimum yığın boyutu. Çıkarım sırasında daha küçük yığınlar kullanılabilir, ancak çıkarım belirtilenden daha büyük yığınları kabul etmeyecektir.

Not

Küçük yığınlar kullanmak, INT8 kalibrasyonu sırasında yanlış ölçeklemeye yol açabilir. Bunun nedeni, sürecin gördüğü verilere göre kendini ayarlamasıdır. Küçük yığınlar değerlerin tüm aralığını yakalayamayabilir ve bu da nihai kalibrasyonla ilgili sorunlara yol açabilir. Daha büyük bir yığın boyutu kullanmak, daha temsili kalibrasyon sonuçları sağlamaya yardımcı olur.

Experimentation by NVIDIA led them to recommend using at least 500 calibration images that are representative of the data for your model, with INT8 quantization calibration. This is a guideline and not a hard requirement, and you will need to experiment with what is required to perform well for your dataset. Since the calibration data is required for INT8 calibration with TensorRT, make certain to use the data argument when int8=True for TensorRT and use data="my_dataset.yaml", which will use the images from validation to calibrate with. When no value is passed for data with export to TensorRT with INT8 quantization, the default will be to use one of the "small" example datasets based on the model task instead of throwing an error.

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(
    format="engine",
    dynamic=True,  # (1)!
    batch=8,  # (2)!
    workspace=4,  # (3)!
    int8=True,
    data="coco.yaml",  # (4)!
)

# Load the exported TensorRT INT8 model
model = YOLO("yolo26n.engine", task="detect")

# Run inference
result = model.predict("https://ultralytics.com/images/bus.jpg")
  1. Dinamik eksenlerle dışa aktarmalar; bu, açıkça ayarlanmadığında bile int8=True ile dışa aktarılırken varsayılan olarak etkinleştirilecektir. Ek bilgi için dışa aktarma bağımsız değişkenlerine bak.
  2. Dışa aktarılan model ve INT8 kalibrasyonu için maksimum 8 yığın boyutu ayarlar.
  3. Dönüştürme işlemi için tüm cihazı tahsis etmek yerine 4 GiB bellek tahsis eder.
  4. Kalibrasyon için COCO veri kümesini, özellikle doğrulama için kullanılan görüntüleri (toplam 5.000) kullanır.
Kalibrasyon Önbelleği

TensorRT, aynı verileri kullanarak gelecekteki model ağırlıklarının dışa aktarımını hızlandırmak için yeniden kullanılabilen bir kalibrasyon .cache dosyası oluşturacaktır, ancak veriler büyük ölçüde farklıysa veya batch değeri önemli ölçüde değiştirilirse bu durum kötü kalibrasyona neden olabilir. Bu durumlarda, mevcut .cache dosyası yeniden adlandırılmalı ve farklı bir dizine taşınmalı veya tamamen silinmelidir.

YOLO'yu TensorRT INT8 ile kullanmanın avantajları

  • Daha küçük model boyutu: FP32'den INT8'e kuantizasyon, model boyutunu 4 katına kadar azaltabilir (disk üzerinde veya bellekte); bu da daha hızlı indirme süreleri, daha düşük depolama gereksinimleri ve model dağıtırken daha küçük bellek ayak izi sağlar.

  • Daha düşük güç tüketimi: INT8 dışa aktarılan YOLO modelleri için düşük hassasiyetli işlemler, özellikle pille çalışan cihazlar için FP32 modellerine kıyasla daha az güç tüketebilir.

  • İyileştirilmiş çıkarım hızları: TensorRT, modeli hedef donanım için optimize ederek GPU'larda, gömülü cihazlarda ve hızlandırıcılarda potansiyel olarak daha hızlı çıkarım hızlarına yol açar.

Çıkarım Hızları Hakkında Not

TensorRT INT8'e aktarılan bir modelle yapılan ilk birkaç çıkarım çağrısının normalden daha uzun ön işleme, çıkarım ve/veya son işleme sürelerine sahip olması beklenebilir. Bu durum, çıkarım sırasında imgsz değiştirildiğinde de ortaya çıkabilir, özellikle de imgsz dışa aktarma sırasında belirtilenle aynı olmadığında (dışa aktarma imgsz değeri TensorRT "optimal" profili olarak ayarlanır).

YOLO'yu TensorRT INT8 ile kullanmanın dezavantajları

  • Decreases in evaluation metrics: Using a lower precision will mean that mAP, Precision, Recall or any other metric used to evaluate model performance is likely to be somewhat worse. See the Performance results section to compare the differences in mAP50 and mAP50-95 when exporting with INT8 on small sample of various devices.

  • Artan geliştirme süreleri: Veri kümesi ve cihaz için "optimal" INT8 kalibrasyon ayarlarını bulmak önemli miktarda test gerektirebilir.

  • Donanım bağımlılığı: Kalibrasyon ve performans kazanımları yüksek derecede donanıma bağlı olabilir ve model ağırlıkları daha az taşınabilirdir.

Ultralytics YOLO TensorRT Dışa Aktarım Performansı

NVIDIA A100

Performans

Ubuntu 22.04.3 LTS, python 3.10.12, ultralytics==8.2.4, tensorrt==8.6.1.post1 ile test edilmiştir

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

Not

Inference times shown for mean, min (fastest), and max (slowest) for each test using pretrained weights yolov8n.engine

PrecisionDeğerlendirme testiortalama
(ms)
min | max
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchboyut
(piksel)
FP32Tahmin0.520.51 | 0.568640
FP32COCOval0.520.520.371640
FP16Tahmin0.340.34 | 0.418640
FP16COCOval0.330.520.371640
INT8Tahmin0.280.27 | 0.318640
INT8COCOval0.290.470.331640

Tüketici Sınıfı GPU'lar

Algılama Performansı (COCO)

Windows 10.0.19045, python 3.10.9, ultralytics==8.2.4, tensorrt==10.0.0b6 ile test edilmiştir

Not

Inference times shown for mean, min (fastest), and max (slowest) for each test using pretrained weights yolov8n.engine

PrecisionDeğerlendirme testiortalama
(ms)
min | max
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchboyut
(piksel)
FP32Tahmin1.060.75 | 1.888640
FP32COCOval1.370.520.371640
FP16Tahmin0.620.75 | 1.138640
FP16COCOval0.850.520.371640
INT8Tahmin0.520.38 | 1.008640
INT8COCOval0.740.470.331640

Gömülü Cihazlar

Algılama Performansı (COCO)

JetPack 6.0 (L4T 36.3) Ubuntu 22.04.4 LTS, python 3.10.12, ultralytics==8.2.16, tensorrt==10.0.1 ile test edilmiştir

Not

Inference times shown for mean, min (fastest), and max (slowest) for each test using pretrained weights yolov8n.engine

PrecisionDeğerlendirme testiortalama
(ms)
min | max
(ms)
mAPval
50(B)
mAPval
50-95(B)
batchboyut
(piksel)
FP32Tahmin6.116.10 | 6.298640
FP32COCOval6.170.520.371640
FP16Tahmin3.183.18 | 3.208640
FP16COCOval3.190.520.371640
INT8Tahmin2.302.29 | 2.358640
INT8COCOval2.320.460.321640
Bilgi

Kurulum ve yapılandırma hakkında daha fazla bilgi edinmek için Ultralytics YOLO ile NVIDIA Jetson hızlı başlangıç kılavuzumuza göz at.

Bilgi

Kurulum ve yapılandırma hakkında daha fazla bilgi edinmek için Ultralytics YOLO ile NVIDIA DGX Spark hızlı başlangıç kılavuzumuza göz at.

Değerlendirme yöntemleri

Bu modellerin nasıl dışa aktarıldığı ve test edildiğiyle ilgili bilgi almak için aşağıdaki bölümleri genişlet.

Dışa aktarma yapılandırmaları

Dışa aktarma yapılandırma argümanları hakkında ayrıntılar için dışa aktarma moduna bak.

from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# TensorRT FP32
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2)

# TensorRT FP16
out = model.export(format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, half=True)

# TensorRT INT8 with calibration `data` (i.e. COCO, ImageNet, or DOTAv1 for appropriate model task)
out = model.export(
    format="engine", imgsz=640, dynamic=True, verbose=False, batch=8, workspace=2, int8=True, data="coco8.yaml"
)
Tahmin döngüsü

Ek bilgi için tahmin moduna bak.

import cv2

from ultralytics import YOLO

model = YOLO("yolo26n.engine")
img = cv2.imread("path/to/image.jpg")

for _ in range(100):
    result = model.predict(
        [img] * 8,  # batch=8 of the same image
        verbose=False,
        device="cuda",
    )
Doğrulama yapılandırması

Doğrulama yapılandırma argümanları hakkında daha fazla bilgi edinmek için val moduna bak.

from ultralytics import YOLO

model = YOLO("yolo26n.engine")
results = model.val(
    data="data.yaml",  # COCO, ImageNet, or DOTAv1 for appropriate model task
    batch=1,
    imgsz=640,
    verbose=False,
    device="cuda",
)

Dışa Aktarılan YOLO26 TensorRT Modellerini Dağıtma

Ultralytics YOLO26 modellerini TensorRT formatına başarıyla dışa aktardıktan sonra, artık onları dağıtmaya hazırsın. TensorRT modellerini çeşitli ortamlarda dağıtmak için kapsamlı talimatlar almak adına aşağıdaki kaynaklara bir göz at:

Özet

Bu kılavuzda, Ultralytics YOLO26 modellerini NVIDIA'nın TensorRT model formatına dönüştürmeye odaklandık. Bu dönüştürme adımı, YOLO26 modellerinin verimliliğini ve hızını artırmak, onları daha etkili ve çeşitli dağıtım ortamları için uygun hale getirmek açısından çok önemlidir.

Kullanım ayrıntıları hakkında daha fazla bilgi için TensorRT resmi belgelerine göz at.

Ek Ultralytics YOLO26 entegrasyonlarını merak ediyorsan, entegrasyon kılavuzu sayfamız çok çeşitli bilgilendirici kaynaklar ve içgörüler sunar.

SSS

YOLO26 modellerini TensorRT formatına nasıl dönüştürürüm?

Ultralytics YOLO26 modellerini optimize edilmiş NVIDIA GPU çıkarımı için TensorRT formatına dönüştürmek için şu adımları izle:

  1. Gerekli paketi yükle:

    pip install ultralytics
  2. YOLO26 modelini dışa aktar:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    model.export(format="engine")  # creates 'yolo26n.engine'
    
    # Run inference
    model = YOLO("yolo26n.engine")
    results = model("https://ultralytics.com/images/bus.jpg")

Daha fazla ayrıntı için YOLO26 Kurulum kılavuzunu ve dışa aktarma belgelerini ziyaret et.

YOLO26 modelleri için TensorRT kullanmanın faydaları nelerdir?

YOLO26 modellerini optimize etmek için TensorRT kullanmak birçok avantaj sunar:

  • Daha Hızlı Çıkarım Hızı: TensorRT, model katmanlarını optimize eder ve doğruluktan önemli ölçüde ödün vermeden çıkarımı hızlandırmak için hassasiyet kalibrasyonu (INT8 ve FP16) kullanır.
  • Bellek Verimliliği: TensorRT, tensör belleğini dinamik olarak yöneterek yükü azaltır ve GPU bellek kullanımını iyileştirir.
  • Katman Birleştirme (Layer Fusion): Birden çok katmanı tek işlemlerde birleştirerek hesaplama karmaşıklığını azaltır.
  • Çekirdek Otomatik Ayarlama (Kernel Auto-Tuning): Her model katmanı için optimize edilmiş GPU çekirdeklerini otomatik olarak seçerek maksimum performansı garanti eder.

Daha fazla bilgi edinmek için NVIDIA'nın resmi TensorRT belgelerini ve kapsamlı TensorRT genel bakışımıza göz at.

YOLO26 modelleri için TensorRT ile INT8 nicemleme kullanabilir miyim?

Evet, YOLO26 modellerini INT8 nicemleme ile TensorRT kullanarak dışa aktarabilirsin. Bu işlem, eğitim sonrası nicemleme (PTQ) ve kalibrasyonu içerir:

  1. INT8 ile dışa aktar:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    model.export(format="engine", batch=8, workspace=4, int8=True, data="coco.yaml")
  2. Çıkarımı çalıştır:

    from ultralytics import YOLO
    
    model = YOLO("yolo26n.engine", task="detect")
    result = model.predict("https://ultralytics.com/images/bus.jpg")

Daha fazla ayrıntı için INT8 nicemleme ile TensorRT dışa aktarma bölümüne bak.

YOLO26 TensorRT modellerini NVIDIA Triton Inference Sunucusunda nasıl dağıtırım?

YOLO26 TensorRT modellerini bir NVIDIA Triton Inference Sunucusunda dağıtma işlemi aşağıdaki kaynaklar kullanılarak gerçekleştirilebilir:

Bu rehberler, YOLO26 modellerini çeşitli dağıtım ortamlarında verimli bir şekilde entegre etmene yardımcı olacaktır.

TensorRT'ye dışa aktarılan YOLO26 modelleriyle gözlemlenen performans iyileştirmeleri nelerdir?

TensorRT ile performans iyileştirmeleri kullanılan donanıma göre değişiklik gösterebilir. İşte bazı tipik kıyaslamalar:

  • NVIDIA A100:

    • FP32 Çıkarım: ~0.52 ms / görsel
    • FP16 Çıkarım: ~0.34 ms / görsel
    • INT8 Çıkarım: ~0.28 ms / görsel
    • INT8 hassasiyetinde mAP'de küçük bir düşüş görülür ancak hızda önemli bir iyileşme sağlanır.
  • Tüketici Sınıfı GPU'lar (örneğin RTX 3080):

    • FP32 Çıkarım: ~1.06 ms / görsel
    • FP16 Çıkarım: ~0.62 ms / görsel
    • INT8 Çıkarım: ~0.52 ms / görsel

Farklı donanım yapılandırmaları için detaylı performans kıyaslamaları performans bölümünde bulunabilir.

TensorRT performansı hakkında daha kapsamlı bilgiler için Ultralytics dokümantasyonuna ve performans analizi raporlarımıza başvurabilirsin.

Yorumlar