TensorRT
TensorRT'nin NVIDIA GPU'lar için derin öğrenme modellerini nasıl optimize ettiğini keşfet. Düşük gecikmeli ve yüksek hızlı çıkarım için Ultralytics YOLO26'yı hemen TensorRT'ye aktarmayı öğren.
TensorRT, NVIDIA tarafından geliştirilen yüksek performanslı bir derin öğrenme çıkarım yazılım geliştirme kitidir (SDK). Derin öğrenme uygulamaları için düşük çıkarım gecikmesi ve yüksek verimlilik sağlayarak, dağıtım için sinir ağı modellerini optimize etmek üzere tasarlanmıştır. Bir optimizasyon derleyicisi olarak hareket eden TensorRT, PyTorch ve TensorFlow gibi popüler çerçevelerden eğitilmiş ağları alır ve bunları NVIDIA GPU birimlerinde verimli bir şekilde çalıştırmak üzere yeniden yapılandırır. Bu yetenek, hız ve verimliliğin en üst düzeyde olduğu üretim ortamlarında karmaşık AI modellerini çalıştırmak için çok önemlidir.
Link to this sectionTensorRT Modelleri Nasıl Optimize Eder#
TensorRT'nin temel işlevi, eğitilmiş bir sinir ağını hedef donanım için özel olarak ayarlanmış optimize edilmiş bir "motor"a dönüştürmektir. Bunu birkaç gelişmiş teknikle başarır:
- Katman Birleştirme (Layer Fusion): Optimize edici, bir sinir ağının birden fazla katmanını tek bir çekirdekte birleştirerek bellek erişim yükünü azaltır ve yürütme hızını artırır.
- Hassasiyet Kalibrasyonu: TensorRT, karma hassasiyet (FP16) ve tamsayı niceleme (INT8) gibi düşük hassasiyetli modları destekler. Sayıları temsil etmek için kullanılan bit sayısını (genellikle minimum doğruluk kaybıyla) azaltarak, geliştiriciler matematiksel işlemleri önemli ölçüde hızlandırabilir ve bellek kullanımını azaltabilir. Bu bir model niceleme biçimidir.
- Çekirdek Otomatik Ayarlama (Kernel Auto-Tuning): Yazılım, kullanılan spesifik GPU mimarisi için en iyi veri katmanlarını ve algoritmaları otomatik olarak seçerek, CUDA aracılığıyla donanımın paralel işleme yeteneklerinden maksimum düzeyde yararlanılmasını sağlar.
Link to this sectionGerçek Dünya Uygulamaları#
Devasa miktardaki veriyi minimum gecikmeyle işleyebilme yeteneği sayesinde TensorRT, bilgisayarlı görü teknolojisine ve zamanlamanın kritik olduğu karmaşık AI görevlerine güvenen endüstrilerde yaygın olarak benimsenmiştir.
-
Otonom Sistemler: Otomotiv alanındaki AI dünyasında, sürücüsüz araçlar yayaları, işaretleri ve engelleri anında tespit etmek için birden fazla kameradan gelen video beslemelerini işlemek zorundadır. TensorRT kullanarak, nesne tespiti ağları gibi algı modelleri kareleri milisaniyeler içinde analiz edebilir ve aracın kontrol sisteminin güvenlik açısından kritik kararları gecikme olmadan vermesini sağlar.
-
Endüstriyel Otomasyon: Modern fabrikalar, otomatik optik denetim için üretimde AI teknolojisinden yararlanır. Yüksek hızlı kameralar montaj hatlarındaki ürünlerin görüntülerini yakalar ve TensorRT ile optimize edilmiş modeller, kusurları veya anormallikleri gerçek zamanlı olarak tanımlar. Bu, kalite kontrolün yüksek hızlı üretim ortamlarına ayak uydurmasını sağlar ve genellikle doğrudan fabrika zemininde Edge AI cihazları gibi NVIDIA Jetson platformunda dağıtılır.
Link to this sectionUltralytics YOLO ile TensorRT Kullanımı#
TensorRT'yi iş akışına entegre etmek modern AI araçlarıyla oldukça kolaydır. ultralytics paketi, standart PyTorch modellerini TensorRT motorlarına dönüştürmek için sorunsuz bir yöntem sunar. Bu, kullanıcıların Ultralytics YOLO26 mimarisinin en son teknolojisinden NVIDIA GPU'larının donanım hızlandırmasıyla yararlanmasını sağlar. Dışa aktarmadan önce veri kümelerini ve eğitim hatlarını yönetmek isteyen ekipler için, Ultralytics Platform, modelleri bu tür yüksek performanslı dağıtımlar için hazırlamak adına kapsamlı bir ortam sunar.
Aşağıdaki örnek, bir YOLO26 modelinin nasıl TensorRT motor dosyasına (.engine) aktarılacağını ve bunun gerçek zamanlı çıkarım için nasıl kullanılacağını göstermektedir:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")Link to this sectionTensorRT vs. ONNX vs. Eğitim Çerçeveleri#
TensorRT'yi model dağıtımı dünyasında sıkça duyulan diğer terimlerden ayırmak önemlidir:
- PyTorch/TensorFlow ile Karşılaştırma: PyTorch gibi çerçeveler öncelikle model eğitimi ve araştırma için tasarlanmıştır; esneklik ve hata ayıklama kolaylığı sunarlar. TensorRT ise eğitilmiş modelleri mümkün olduğunca hızlı yürütmek için tasarlanmış bir çıkarım motorudur. Eğitim için kullanılmaz.
- ONNX ile Karşılaştırma: ONNX (Open Neural Network Exchange) formatı, çerçeveler arasında bir aracı köprü görevi görür. ONNX birlikte çalışabilirlik sağlarken (örneğin, bir modeli PyTorch'tan başka bir platforma taşımak gibi), TensorRT donanıma özgü optimizasyona odaklanır. Genellikle bir model önce ONNX'e dönüştürülür ve ardından nihai motoru oluşturmak için TensorRT tarafından ayrıştırılır.
AI ajanlarının veya görüntü sistemlerinin performansını maksimize etmeyi hedefleyen geliştiriciler için, bir eğitim çerçevesinden TensorRT gibi optimize edilmiş bir çalışma zamanına geçişi anlamak, profesyonel MLOps yolculuğunda kilit bir adımdır.






