TensorRT entegrasyonuyla Ultralytics YOLO modellerini optimize etme
Gerçek zamanlı uygulamalarda NVIDIA GPU'larda 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 inen bir yayayı algılamak için yalnızca milisaniyeleri olan sürücüsüz bir araba düşün. Aynı anda, bir ağacın kısmen gizlediği bir dur işaretini tanıması veya yakındaki bir aracın şeridine doğru savrulmasına hızla tepki vermesi gerekebilir. Bu tür durumlarda hız ve gerçek zamanlı yanıtlar kritik önem taşır.
Yapay zekânın (AI) bir dalı olan ve makinelerin görsel verileri yorumlamasına yardımcı olan bilgisayarlı görü tam da bu noktada önemli bir rol oynar. Bilgisayarlı görü çözümlerinin gerçek dünya ortamlarında güvenilir şekilde çalışması için genellikle bilgileri hızlıca 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 cihazları kullanan donanım hızlandırmadır. NVIDIA GPU'ları, düşük gecikme ve yüksek throughput sunabilmeleri sayesinde bu tür görevler için özellikle bilinir.
Ancak bir modeli GPU'da olduğu gibi çalıştırmak her zaman optimum performansı garanti etmez. Görsel yapay zekâ modellerinin donanım cihazlarının yeteneklerinden tam olarak yararlanabilmesi için genellikle optimize edilmesi gerekir. Belirli bir donanımla tam performans elde etmek için modeli, donanıma özgü talimat setini kullanacak şekilde derlememiz gerekir.
Örneğin TensorRT, ileri teknoloji makinelerde performansı artırmak için NVIDIA tarafından geliştirilen bir dışa aktarma biçimi ve optimizasyon kitaplığıdır. Doğruluğu korurken çıkarım süresini önemli ölçüde azaltmak için gelişmiş teknikler kullanır.

Şekil 1. NVIDIA TensorRT, modellerin çeşitli NVIDIA cihazlarda optimum ş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. Hemen 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. Sürücüsüz arabalar, üretimde ve ilaç sektöründe kalite kontrolü gibi hız 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 throughput işleyebilmesini sağlamak için arka planda çalışabilen derleyiciler ve model optimize edicileri gibi araçlar içerir.
Ultralytics tarafından desteklenen TensorRT entegrasyonu, precision azaltma gibi yöntemleri kullanarak YOLO modelini GPU'larda daha verimli çalışacak şekilde optimize eder. Bu, model verilerini temsil etmek için 16 bit kayan noktalı (FP16) veya 8 bit tamsayı (INT8) gibi daha düşük bitli biçimlerin kullanılması anlamına gelir; böylece doğruluk üzerindeki etkisi en aza indirilirken bellek kullanımı azalır ve hesaplama hızlanır.
Ayrıca uyumlu sinir ağı katmanları, bellek kullanımını azaltmak için optimize edilmiş TensorRT modellerinde birleştirilir; bunun sonucunda çıkarım daha hızlı ve verimli hâle gelir.

Şekil 2. TensorRT'nin katman birleştirme tekniğine bakış.
TensorRT dışa aktarma biçiminin temel özellikleri#
Ultralytics YOLO11'i TensorRT entegrasyonunu kullanarak nasıl dışa aktarabileceğini ele almadan önce TensorRT model biçiminin bazı temel özelliklerine göz atalım:
-
Kolay framework entegrasyonu: TensorRT; PyTorch, Hugging Face ve ONNX gibi popüler yapay zekâ framework'leriyle doğrudan entegrasyonu destekleyerek 6 kata kadar daha hızlı performans sunar. Ayrıca MATLAB'ı da destekleyerek Jetson, NVIDIA DRIVE ve veri merkezleri gibi platformlarda yüksek hızlı yapay zekâ motorlarının geliştirilmesini mümkün kılar.
-
Triton ile ölçeklenebilir dağıtım: TensorRT biçiminde optimize edilen modeller, NVIDIA Triton Inference Server kullanılarak geniş ölçekte dağıtılabilir. Bu sunucu; girişleri toplu işleme, modellerin eş zamanlı yürütülmesi, model ansamblı desteği 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, tüm NVIDIA ekosisteminde çalışır; video için DeepStream, konuşma yapay zekâsı için Riva ve siber güvenlik, öneriler ve daha fazlası için diğer araçları destekler.
TensorRT entegrasyonu nasıl çalışır?#
Ultralytics YOLO11 gibi Ultralytics YOLO modellerini TensorRT model biçimine dışa aktarmak kolaydır. Gel, ilgili adımları birlikte inceleyelim.
Başlamak için Ultralytics Python paketini ‘pip’ gibi bir paket yöneticisi kullanarak yükleyebilirsin. Bunun için komut isteminde veya terminalde “pip install ultralytics” komutunu çalıştırman yeterlidir.
Ultralytics Python paketini başarıyla yükledikten sonra nesne algılama, sınıflandırma ve örnek bölütleme gibi çeşitli bilgisayarlı görü görevleri için modelleri eğitebilir, test edebilir, ince ayar yapabilir, dışa aktarabilir ve dağıtabilirsin. Paketi yüklerken herhangi bir sorunla karşılaşırsan çözüm ve ipuçları için Yaygın Sorunlar kılavuzuna başvurabilirsin.
Bir sonraki adım için bir NVIDIA cihazına ihtiyacın olacak. YOLO11'i TensorRT model biçiminde yüklemek ve dışa aktarmak için aşağıdaki kod parçacığını kullan. Bu kod, YOLO11 modelinin önceden eğitilmiş nano varyantını (yolo11n.pt) yükler ve NVIDIA cihazlar arasında dağıtıma hazır hâle getirerek TensorRT motor dosyası (yolo11n.engine) olarak dışa aktarır.
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ğıtabilirsin.
Aşağıdaki örnek, dışa aktarılan YOLO11 modelinin (yolo11n.engine) nasıl yükleneceğini ve kullanılarak çıkarımın nasıl çalıştırılacağını gösterir. Çıkarım, yeni veriler üzerinde tahminler yapmak için eğitilmiş modelin kullanılmasını ifade eder. Bu örnekte modeli test etmek için köpek görüntüsü içeren bir giriş resmi 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.

Şekil 3. Dışa aktarılan Ultralytics YOLO11 modelini TensorRT biçiminde kullanarak çıkarım çalıştırmanın sonucu.
TensorRT entegrasyonundan ne zaman yararlanmalı?#
Ultralytics Python paketi, YOLO modellerini TorchScript, CoreML, ONNX ve TensorRT gibi farklı biçimlere dışa aktarmana olanak tanıyan çeşitli entegrasyonları destekler. Peki TensorRT entegrasyonunu ne zaman kullanmayı seçmelisin?
TensorRT model biçimini diğer dışa aktarma entegrasyonu seçeneklerinden ayıran birkaç faktör şunlardır:
-
Daha küçük model boyutu: Bir YOLO modelini INT8 precision ile TensorRT biçimine dışa aktarmak model boyutunu önemli ölçüde azaltabilir. FP32'den INT8'e niceleme, model boyutunda 4 kata kadar azalma sağlayabilir; bu da daha hızlı indirme, daha düşük depolama gereksinimi ve dağıtım sırasında daha küçük bellek ayak izi sunar.
-
Daha düşük güç kullanımı: INT8 niceleme yalnızca model boyutunu azaltmakla kalmaz, güç tüketimini de düşürür. INT8 olarak dışa aktarılan YOLO modellerindeki azaltılmış precision işlemleri, FP32 modellere kıyasla daha az güç tüketebilir. Bu durum özellikle drone, akıllı telefon veya uç cihaz gibi pille çalışan cihazlar için faydalıdır.
-
Daha hızlı performans: YOLO'nun verimli mimarisini TensorRT'nin INT8 optimizasyonuyla birleştirmek çıkarım hızlarını artırabilir.
Ultralytics YOLO11 ve TensorRT model biçiminin uygulamaları#
TensorRT biçimine dışa aktarılan Ultralytics YOLO modelleri, çok çeşitli gerçek dünya senaryolarında dağıtılabilir. Bu optimize edilmiş modeller, hızlı ve verimli yapay zekâ performansının kritik olduğu durumlarda özellikle kullanışlıdır. Nasıl kullanılabileceklerine dair bazı ilgi çekici örnekleri inceleyelim.
Perakende mağazalarında akıllı ödeme kasaları#
Perakende mağazalarında barkod tarama, ürün tartma veya ürünleri paketleme gibi çok çeşitli görevler hâlâ personel tarafından manuel olarak gerçekleştirilir. Ancak yalnızca çalışanlara güvenmek operasyonları yavaşlatabilir ve özellikle ödeme sırasında müşteri memnuniyetsizliğine yol açabilir. Uzun kuyruklar hem müşteriler hem de mağaza sahipleri için zahmetlidir. Akıllı self-servis ödeme kasaları bu soruna harika bir çözüm sunar.
Bu kasalar, süreci hızlandırmak ve bekleme sürelerini azaltmaya yardımcı olmak için bilgisayarlı görü ve GPU'lar kullanır. Bilgisayarlı görü, nesne algılama gibi görevler aracılığıyla bu sistemlerin çevrelerini görmesini ve anlamasını sağlar. TensorRT gibi araçlarla optimize edilen Ultralytics YOLO11 gibi gelişmiş modeller, GPU cihazlarında çok daha hızlı çalışabilir.
Bu dışa aktarılan modeller, özellikle uç yapay zekâ uygulamaları için tasarlanmış NVIDIA Jetson Nano gibi kompakt ancak güçlü donanım cihazlarını kullanan akıllı perakende düzenekleri için oldukça uygundur.

Şekil 4. Akıllı ödeme kasasına bir örnek.
Üretimde otomatik kusur algılama#
Ultralytics YOLO11 gibi bir bilgisayarlı görü modeli, üretim sektöründeki kusurlu ürünleri algılamak üzere özel olarak eğitilebilir. Eğitildikten sonra model, yüksek performanslı yapay zekâ sistemleriyle donatılmış tesislerde dağıtılmak üzere TensorRT biçimine dışa aktarılabilir.
Ürünler taşıma bantları boyunca ilerlerken kameralar görüntüleri yakalar ve TensorRT biçiminde çalışan Ultralytics YOLO11 modeli, kusurları tespit etmek için bu görüntüleri gerçek zamanlı olarak analiz eder. Bu düzenek, şirketlerin sorunları hızlı ve doğru şekilde yakalamasını, hataları azaltmasını ve verimliliği artırmasını sağlar.
Benzer şekilde ilaç sektörü gibi sektörler de tıbbi ambalajlardaki kusurları tespit etmek için bu tür sistemleri kullanıyor. Hatta akıllı kusur algılama sistemleri için küresel pazarın 2026'ya kadar 5 milyar dolara ulaşması bekleniyor.

Şekil 5. İlaç sektöründe kusurları algılamak için YOLO kullanımı.
TensorRT kullanırken akılda tutulması gereken noktalar#
TensorRT entegrasyonu daha hızlı çıkarım ve azaltılmış gecikme gibi birçok avantaj sunarken akılda tutulması gereken birkaç sınırlama da vardır:
-
Doğrulukta hafif düşüş: Modelini TensorRT biçiminde dışa aktardığında dışa aktarılan modelin doğruluğu orijinali kadar yüksek olmayabilir. Precision, recall ve modelin nesneleri ne kadar iyi algıladığına ilişkin performans metrikleri (mAP skorları) biraz düşebilir. Bu durum, niceleme sırasında temsili bir veri kümesi kullanılarak azaltılabilir.
-
Hata ayıklama karmaşıklığında artış: TensorRT tarafından yapılan optimizasyonlar, özellikle sonuçları orijinal modelle karşılaştırırken hataların izini sürmeyi veya beklenmeyen davranışları anlamayı zorlaştırabilir.
-
Batch boyutuna duyarlılık: TensorRT'nin performans kazanımları daha büyük batch boyutlarında daha belirgindir. Tek görüntü veya küçük batch'ler işleyen uygulamalarda performans iyileştirmeleri daha az önemli 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 onları fabrikalarda kusur algılama, akıllı ödeme sistemlerine güç verme veya yoğun kentsel alanları izleme 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'larında daha iyi performans göstermesine yardımcı olur. Birkaç sınırlama bulunsa da performans artışı, NVIDIA donanımında yüksek hızlı bilgisayarlı görü sistemleri geliştiren herkes için TensorRT entegrasyonunu harika bir seçenek hâline getirir.
Yapay zekâ hakkında daha fazla bilgi edinmek ister misin? GitHub depomuzu incele, topluluğumuzla bağlantı kur ve bilgisayarlı görü projenizi başlatmak için lisanslama 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 edinebilirsin.









