TensorRT
NVIDIA GPU'larda daha hızlı ve verimli çıkarım için derin öğrenme modellerini TensorRT ile optimize edin. YOLO ve yapay zeka uygulamalarıyla gerçek zamanlı performans elde edin.
TensorRT , aşağıdakiler tarafından geliştirilen yüksek performanslı bir yazılım geliştirme kitidir (SDK)
NVIDIA özellikle optimize etmek ve yürütmek için
derin öğrenme modelleri. Olarak işlev görür
eğitimli çıkarım motorunu alan özel çıkarım motoru
sinir ağları ve bunları NVIDIA
üzerinde maksimum verimlilikle çalışacak şekilde yeniden yapılandırır
Grafik İşlem Birimleri (GPU'lar). Tarafından
hesaplama grafiğini düzene sokan ve bellek kullanımını yöneten TensorRT , bellek kullanımını önemli ölçüde azaltır.
çıkarım gecikmesi ve verimi artırır,
Bu da onu anında, gerçek zamanlı yanıtlar gerektiren uygulamalar geliştiren geliştiriciler için vazgeçilmez bir araç haline getiriyor.
TensorRT Performansı Nasıl Optimize Eder TensorRT
TensorRT 'nin birincil amacı, esnek bir çerçevede eğitilen bir model ile konuşlandırılan bir model arasındaki boşluğu doldurmaktır
hız için. Bunu çeşitli sofistike optimizasyon teknikleriyle başarır:
-
Katman Füzyonu ve Grafik Optimizasyonu: TensorRT ağ mimarisini analiz eder ve birden fazla katmanı
katmanları tek bir işlemde birleştirir. Örneğin, bir katmanı
önyargı ve aktivasyon adımı ile konvolüsyon katmanı.
İşlem sayısındaki bu azalma, GPU'da çekirdekleri başlatma yükünü en aza indirir.
-
Hassas Kalibrasyon: Performansı daha da hızlandırmak için TensorRT şunları destekler
model kuantizasyonu. Bu süreç aşağıdakileri dönüştürür
model ağırlıkları standart 32 bit kayan noktadan (FP32) aşağıdaki gibi daha düşük hassasiyetli formatlara
karışık hassasiyetli (FP16) veya 8 bit tamsayılar (INT8).
Bu, bellek bant genişliği kullanımını büyük ölçüde azaltırken yüksek
doğruluk.
-
Çekirdek Otomatik Ayarlama: Farklı GPU mimarileri matematiksel işlemleri farklı şekilde ele alır.
TensorRT , optimize edilmiş çekirdeklerden oluşan geniş bir kütüphaneden en iyi veri katmanlarını ve algoritmaları otomatik olarak seçer,
modelin belirli bir hedef donanım üzerinde en iyi şekilde çalışmasını sağlamak, örneğin
NVIDIA Jetson veya bir veri merkezi A100.
-
Dinamik Tensor Belleği: SDK, tensörler için belleği yeniden kullanarak bellek tahsisini optimize eder (veri
konteynerler) eşzamanlı olarak ihtiyaç duyulmadığından, bu işlem sırasında toplam bellek ayak izini etkili bir şekilde azaltır.
model dağıtımı.
TensorRT'nin Gerçek Dünya Uygulamaları
Büyük miktarda veriyi minimum gecikmeyle işleme yeteneği nedeniyle TensorRT , sektörlerde yaygın olarak benimsenmiştir
bilgisayarla görme ve karmaşık yapay zeka görevlerine dayanmaktadır.
-
Otonom Araçlar: Bu alanda
Otomotivde yapay zeka, sürücüsüz araçlar
yayaları, işaretleri ve engelleri anında detect etmek için birden fazla kameradan gelen video akışlarını işleyin. TensorRT'yi kullanma,
nesne algılama ağları gibi algı modelleri
milisaniyeler içinde kareleri analiz edebilir ve aracın kontrol sisteminin güvenlik açısından kritik kararlar almasını sağlar.
Gecikme.
-
Akıllı Üretim: Modern fabrikalar şunları kullanır
Otomatik optik için üretimde yapay zeka
Denetim. Yüksek hızlı kameralar montaj hatlarındaki ürünlerin görüntülerini yakalar ve TensorRT modeller
kusurları veya anormallikleri gerçek zamanlı olarak tespit eder. Bu, kalite kontrolün yüksek hızlı üretime ayak uydurmasını sağlar
ortamlarında, genellikle doğrudan uç yapay zeka cihazlarında
fabrika katında.
Ultralytics YOLO11 ile TensorRT Kullanımı
Modern yapay zeka araçlarıyla TensorRT 'yi iş akışınıza entegre etmek çok kolay. TensorRT ultralytics paket
standartları dönüştürmek için sorunsuz bir yöntem sağlar
PyTorch modellerini TensorRT motorlarına dönüştürür. Bu, kullanıcıların
son teknoloji mimarisinden yararlanarak
Ultralytics YOLO11 NVIDIA
'nın donanım hızlandırması ile
GPU'lar.
Aşağıdaki örnekte bir YOLO11 modelinin TensorRT motor dosyasına nasıl aktarılacağı gösterilmektedir (.engine) ve
çıkarım için kullanın:
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT format (creates 'yolo11n.engine')
# This step optimizes the model for the specific GPU currently in use
model.export(format="engine")
# Load the optimized TensorRT model for high-speed inference
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://ultralytics.com/images/bus.jpg")
TensorRT ve Diğer Çıkarım Teknolojileri
TensorRT 'yi makine öğrenimi ekosistemindeki diğer araçlardan ayırmak önemlidir.
-
TensorRT vs Eğitim Çerçeveleri: PyTorch gibi kütüphaneler ve
TensorFlow öncelikle aşağıdakiler için tasarlanmıştır
esnekliğe ve hata ayıklama kolaylığına öncelik veren eğitim modelleri. TensorRT kesinlikle şunlar içindir
belirli bir donanım üzerinde ham hıza ve verimliliğe öncelik vererek çıkarım yapar.
-
TensorRT vs. ONNX Çalışma Zamanı: Bu
ONNX (Açık Sinir Ağı Borsası)
formatı farklı platformlar arasında birlikte çalışabilirlik için tasarlanmıştır. Bir yandan
ONNX Runtime, çeşitli donanımlar üzerinde çalışan çok yönlü bir motordur, TensorRT
NVIDIA GPU'lara özel daha derin, donanıma özgü optimizasyonlar sağlar ve genellikle
jenerik koşucular.
-
TensorRT vs OpenVINO: TensorRT 'nin NVIDIA donanımı için optimize edilmesine benzer şekilde
OpenVINO araç seti aşağıdakileri hızlandırmak için tasarlanmıştır
Intel işlemcilerde (CPU'lar ve entegre GPU'lar) çıkarım. Bunlar arasında seçim yapmak tamamen dağıtımınıza bağlıdır
Donanım.
Ölçeklenebilir bulut dağıtımları için TensorRT motorları sıklıkla
Model sürümlerini yöneten NVIDIA Triton Çıkarım Sunucusu
ve eşzamanlı istekleri verimli bir şekilde ele alır.