Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

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.

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

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın