Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Entegrasyonlar

TensorRT entegrasyonuyla Ultralytics YOLO modellerini optimize etme

Gerçek zamanlı uygulamalarda NVIDIA GPU'larında daha hızlı ve verimli yapay zekâ performansı için TensorRT entegrasyonunu kullanarak Ultralytics YOLO modellerini nasıl dışa aktaracağını öğren.

Abirami VinaAbirami Vina8 dakikalık okuma
Gerçek zamanlı uygulamalarda NVIDIA GPU'larında daha hızlı ve verimli yapay zekâ performansı için TensorRT entegrasyonunu kullanarak Ultralytics YOLO modellerini nasıl dışa aktaracağını öğren.

Yoğun bir caddede ilerleyen ve kaldırımdan yola adım atan bir yayayı algılamak için yalnızca milisaniyeleri olan otonom bir aracı düşün. Aynı anda, bir ağacın arkasında kısmen gizlenmiş bir dur levhasını tanıması veya şeridine giren yakındaki bir aracın ani manevrasına hızla tepki vermesi gerekebilir. Bu tür durumlarda hız ve gerçek zamanlı yanıtlar kritik önem taşır.

Görsel verileri makinelerin yorumlamasına yardımcı olan bir yapay zekâ (AI) dalı olan bilgisayarlı görü burada önemli bir rol oynar. Bilgisayarlı görü çözümlerinin gerçek dünya ortamlarında güvenilir biçimde çalışması için bilgileri hızlı işlemesi, aynı anda birden fazla görevi yerine getirmesi ve belleği verimli kullanması gerekir.

Bunu başarmanın bir yolu, modelleri daha hızlı çalıştırmak için grafik işlem birimleri (GPUs) gibi özel aygıtlardan yararlanan donanım hızlandırmasıdır. NVIDIA GPU'ları, düşük gecikme ve yüksek işlem hacmi sunabilmeleri sayesinde bu tür görevlerde özellikle öne çıkar.

Ancak bir modeli GPU'da olduğu gibi çalıştırmak her zaman en iyi performansı garanti etmez. Görsel yapay zekâ modellerinin donanım aygıtlarının kapasitesinden tam olarak yararlanabilmesi için genellikle optimize edilmesi gerekir. Belirli bir donanımda en yüksek performansı elde etmek için modeli, o donanıma özgü komut kümesini kullanacak şekilde derlememiz gerekir.

Örneğin TensorRT, NVIDIA GPU'larında performansı artırmak üzere NVIDIA tarafından geliştirilen bir dışa aktarma biçimi ve optimizasyon kütüphanesidir. Doğruluğu korurken çıkarım süresini önemli ölçüde azaltmak için gelişmiş teknikler kullanır.

NVIDIA TensorRT, modellerin NVIDIA aygıtlarında en iyi şekilde çalışmasını sağlar

Şekil 1. NVIDIA TensorRT, modellerin çeşitli NVIDIA aygıtlarında en iyi şekilde çalışmasını sağlar.

Bu makalede, Ultralytics tarafından desteklenen TensorRT entegrasyonunu inceleyecek ve YOLO11 modelini NVIDIA donanımında daha hızlı ve verimli dağıtım için nasıl dışa aktarabileceğini adım adım ele alacağız. Hadi başlayalım!

TensorRT'ye genel bakış#

TensorRT, yapay zekâ modellerinin NVIDIA GPU'larında daha hızlı ve verimli çalışmasına yardımcı olmak için NVIDIA tarafından geliştirilen bir araç setidir. Otonom araçlar, üretimde kalite kontrolü ve ilaç sektörü gibi hızın ve performansın gerçekten önemli olduğu gerçek dünya uygulamaları için tasarlanmıştır.

TensorRT; modellerinin düşük gecikmeyle çalışmasını ve daha yüksek işlem hacmini desteklemesini sağlamak için arka planda çalışabilen derleyiciler ve model optimize ediciler gibi araçlar içerir.

Ultralytics tarafından desteklenen TensorRT entegrasyonu, hassasiyeti düşürme gibi yöntemlerle YOLO modelini GPU'larda daha verimli çalışacak şekilde optimize eder. Bu, model verilerini temsil etmek için 16 bit kayan nokta (FP16) veya 8 bit tamsayı (INT8) gibi daha düşük bitli biçimlerin kullanılması anlamına gelir; böylece doğruluğa etkisi en aza inerken bellek kullanımı azalır ve hesaplama hızlanır.

Ayrıca, bellek kullanımını azaltmak ve daha hızlı, verimli çıkarım sağlamak için TensorRT ile optimize edilmiş modellerde uyumlu sinir ağı katmanları birleştirilir.

TensorRT'nin katman birleştirme tekniğine bakış

Şekil 2. TensorRT'nin katman birleştirme tekniğine yakından bakış.

TensorRT dışa aktarma biçiminin temel özellikleri#

Ultralytics YOLO11 modelini TensorRT entegrasyonunu kullanarak nasıl dışa aktarabileceğini ele almadan önce TensorRT model biçiminin bazı temel özelliklerine göz atalım:

  • Kolay çerçeve entegrasyonu: TensorRT, PyTorch, Hugging Face ve ONNX gibi popüler yapay zekâ çerçeveleriyle doğrudan entegrasyonu destekleyerek 6 kata kadar daha yüksek performans sunar. Ayrıca MATLAB'ı da destekleyerek Jetson, NVIDIA DRIVE ve veri merkezleri gibi platformlarda yüksek hızlı yapay zekâ motorları geliştirilmesini sağlar.
  • Triton ile ölçeklenebilir dağıtım: TensorRT biçiminde optimize edilmiş modeller, NVIDIA Triton Inference Server kullanılarak büyük ölçekte dağıtılabilir. Bu sunucu; girdi yığınlama, eşzamanlı model çalıştırma, model topluluklarını destekleme ve gerçek zamanlı ses/video akışı gibi özelliklerle verimliliği artırır.
  • Cihazlar arasında esneklik: Küçük uç cihazlardan güçlü sunuculara kadar TensorRT, NVIDIA ekosisteminin tamamında çalışır; video için DeepStream, konuşma yapay zekâsı için Riva ve siber güvenlik, öneri sistemleri gibi alanlara yönelik diğer araçları destekler.

TensorRT entegrasyonu nasıl çalışır?#

Ultralytics YOLO11 gibi Ultralytics YOLO modellerini TensorRT model biçimine aktarmak kolaydır. Gerekli adımları birlikte inceleyelim.

Başlamak için pip gibi bir paket yöneticisi kullanarak Ultralytics Python paketini yükleyebilirsin. Bunun için komut isteminde veya terminalinde pip install ultralytics komutunu çalıştırabilirsin.

Ultralytics Python paketini başarıyla yükledikten sonra nesne algılama, sınıflandırma ve örnek segmentasyonu gibi çeşitli bilgisayarlı görü görevleri için modelleri eğitebilir, test edebilir, ince ayar yapabilir, dışa aktarabilir ve dağıtıma alabilirsin. Paketi yüklerken zorluk yaşarsan çözümler ve ipuçları için Yaygın Sorunlar kılavuzuna başvurabilirsin.

Sonraki adım için bir NVIDIA aygıtına ihtiyacın olacak. YOLO11 modelini yükleyip TensorRT model biçimine aktarmak için aşağıdaki kod parçasını kullan. Bu kod, YOLO11 modelinin önceden eğitilmiş Nano sürümünü (yolo11n.pt) yükleyip TensorRT motor dosyası (yolo11n.engine) olarak dışa aktarır; böylece NVIDIA aygıtlarında dağıtıma hazır hâle gelir.

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="engine")

Modelini TensorRT biçimine dönüştürdükten sonra çeşitli uygulamalarda dağıtıma alabilirsin.

Aşağıdaki örnek, dışa aktarılmış YOLO11 modelinin (yolo11n.engine) nasıl yükleneceğini ve modelle çıkarımın nasıl çalıştırılacağını gösterir. Çıkarım, eğitilmiş modelin yeni veriler üzerinde tahmin yapmasıdır. Bu örnekte modeli test etmek için köpek görüntüsü kullanacağız.

tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)

Bu kodu çalıştırdığında aşağıdaki çıktı görüntüsü runs/detect/predict klasörüne kaydedilir.

Dışa aktarılan Ultralytics YOLO11 modelini TensorRT biçiminde kullanarak çıkarım yapma

Şekil 3. Dışa aktarılan Ultralytics YOLO11 modelini TensorRT biçiminde kullanarak çıkarım yapmanın sonucu.

TensorRT entegrasyonundan ne zaman yararlanmalı?#

Ultralytics Python paketi, YOLO modellerini TorchScript, CoreML, ONNX ve TensorRT gibi farklı biçimlere aktarmana olanak tanıyan çeşitli entegrasyonları destekler. Peki TensorRT entegrasyonunu ne zaman tercih etmelisin?

TensorRT model biçimini diğer dışa aktarma entegrasyonu seçeneklerinden ayıran birkaç etken:

  • Daha küçük model boyutu: YOLO modelini INT8 hassasiyetiyle TensorRT biçimine (quantize=8) aktarmak model boyutunu önemli ölçüde küçültebilir. FP32'den INT8'e niceleme, model boyutunu 4 kat azaltabilir; bu da indirme süresini ve depolama gereksinimlerini düşürür, dağıtım sırasında bellek ayak izini küçültür.
  • Daha düşük güç tüketimi: INT8 nicemleme yalnızca model boyutunu küçültmekle kalmaz, güç tüketimini de azaltır. INT8 biçiminde dışa aktarılan YOLO modellerinin düşük hassasiyetli işlemleri, FP32 modellerine kıyasla daha az güç tüketebilir. Bu durum özellikle dronlar, akıllı telefonlar veya uç cihazlar gibi pille çalışan aygıtlar için yararlıdır.
  • Daha hızlı performans: YOLO'nun verimli mimarisini TensorRT'nin INT8 optimizasyonuyla birleştirmek çıkarım hızını artırabilir.

Ultralytics YOLO11 ve TensorRT model biçiminin uygulamaları#

TensorRT biçimine aktarılmış Ultralytics YOLO modelleri, çok çeşitli gerçek dünya senaryolarında dağıtıma alınabilir. Bu optimize edilmiş modeller, hızlı ve verimli yapay zekâ performansının önemli olduğu durumlarda özellikle kullanışlıdır. Nasıl kullanılabileceklerine dair ilgi çekici örnekleri inceleyelim.

Perakende mağazalarında akıllı ödeme kasaları#

Perakende mağazalarında barkod tarama, ürün tartma veya ürün paketleme gibi pek çok iş hâlâ personel tarafından elle yapılıyor. Ancak yalnızca çalışanlara güvenmek işleyişi yavaşlatabilir ve özellikle ödeme sırasında müşterileri hayal kırıklığına uğratabilir. Uzun kuyruklar hem müşteriler hem de mağaza sahipleri için zahmetlidir. Akıllı self-servis kasalar bu soruna harika bir çözüm sunar.

Bu kasalar, süreci hızlandırmaya ve bekleme sürelerini azaltmaya yardımcı olmak için bilgisayarlı görüden ve GPU'lardan yararlanır. Bilgisayarlı görü, nesne algılama gibi görevlerle bu sistemlerin çevrelerini görüp anlamasını sağlar. Ultralytics YOLO11 gibi gelişmiş modeller, TensorRT gibi araçlarla optimize edildiğinde GPU aygıtlarında çok daha hızlı çalışabilir.

Dışa aktarılan bu modeller, özellikle uç yapay zekâ uygulamaları için tasarlanmış NVIDIA Jetson Nano gibi kompakt ancak güçlü donanımlarla kurulan akıllı perakende sistemlerine çok uygundur.

Atıştırmalıklar ve bir muz bulunan tepsili, kameralı akıllı ödeme kioskunda kartla ödeme yapan müşteri

Şekil 4. Akıllı bir ödeme kasası örneği.

Üretimde otomatik kusur tespiti#

Ultralytics YOLO11 gibi bir bilgisayarlı görü modeli, üretim sektöründeki kusurlu ürünleri algılamak üzere özel olarak eğitilebilir. Model eğitildikten sonra yüksek performanslı yapay zekâ sistemleriyle donatılmış tesislerde dağıtıma alınmak üzere TensorRT biçimine aktarılabilir.

Ürünler konveyör bantlarında ilerlerken kameralar görüntüleri yakalar ve TensorRT biçiminde çalışan Ultralytics YOLO11 modeli kusurları belirlemek için bu görüntüleri gerçek zamanlı olarak analiz eder. Bu kurulum, şirketlerin sorunları hızlı ve doğru biçimde saptamasını sağlayarak hataları azaltır ve verimliliği artırır.

Benzer şekilde ilaç sektörü gibi alanlarda da tıbbi ambalajlardaki kusurları belirlemek için bu tür sistemler kullanılıyor. Nitekim akıllı kusur tespit sistemleri için küresel pazarın 2026'ya kadar 5 milyar dolara ulaşması bekleniyor.

İlaç sektöründe kusurları tespit etmek için YOLO kullanımı

Şekil 5. İlaç sektöründeki kusurları algılamak için YOLO kullanımı.

TensorRT kullanırken göz önünde bulundurman gerekenler#

TensorRT entegrasyonu daha hızlı çıkarım ve daha düşük gecikme gibi birçok avantaj sunsa da aklında bulundurman gereken birkaç sınırlama vardır:

  • Doğrulukta hafif düşüş: Modelini TensorRT biçiminde dışa aktardığında, dışa aktarılan model özgün model kadar doğru olmayabilir. Hassasiyet, geri çağırma ve modelin nesneleri ne kadar iyi algıladığı (mAP puanları) gibi performans ölçütleri hafifçe düşebilir. INT8 nicelemesi sırasında temsili bir kalibrasyon veri kümesi (data bağımsız değişkeni) kullanarak bu durumun etkisini azaltabilirsin.
  • Hata ayıklama karmaşıklığının artması: TensorRT'nin yaptığı optimizasyonlar, özellikle sonuçları orijinal modelle karşılaştırırken hataları izlemeyi veya beklenmedik davranışları anlamayı zorlaştırabilir.
  • Toplu iş boyutuna duyarlılık: TensorRT'nin performans kazanımları daha büyük toplu iş boyutlarında daha belirgindir. Tek görüntü veya küçük toplu işler işleyen uygulamalarda performans iyileştirmeleri daha sınırlı olabilir.

Önemli çıkarımlar#

Ultralytics YOLO modellerini TensorRT biçimine dışa aktarmak, modellerin çok daha hızlı ve verimli çalışmasını sağlar; bu da modelleri fabrikalardaki kusurları tespit etmek, akıllı ödeme sistemlerini çalıştırmak veya yoğun kentsel alanları izlemek gibi gerçek zamanlı görevler için ideal hâle getirir.

Bu optimizasyon, tahminleri hızlandırıp bellek ve güç kullanımını azaltarak modellerin NVIDIA GPU'larda daha iyi performans göstermesine yardımcı olur. Bazı sınırlamalar olsa da performans artışı, TensorRT entegrasyonunu NVIDIA donanımında yüksek hızlı bilgisayarlı görü sistemleri geliştiren herkes için harika bir seçenek hâline getirir.

Yapay zekâ hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu incele, topluluğumuza katıl ve bilgisayarlı görü projen için hemen başlamak üzere lisans seçeneklerimize göz at. Çözümler sayfalarımızda üretimde yapay zekâ ve lojistik sektöründe bilgisayarlı görü gibi yenilikler hakkında daha fazla bilgi edin.

Yazan

Abirami Vina
Abirami Vina

İçerik Üreticisi · Ultralytics

Bilgisayarlı görü mühendisi olarak kariyerine başlayan Abirami Vina, görü AI’sı ve makine öğrenimi alanlarında sağlam bir temel oluşturdu. Ultralytics’te İçerik Üreticisi, Scribe of AI’da ise Kurucu ve Baş Yazar olarak AI odaklı şirketler için nitelikli teknik içerikler hazırlıyor. AI’yı hem anlaşılır hem de ilgi çekici kılma tutkusuyla çalışan Abirami, en yeni teknolojiler ile gerçek dünyadaki etkileri arasında köprü kuruyor.

Yorumlar

Soru sor, sonuçlarını paylaş veya başka birine yardım et.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla