Gerçek zamanlı uygulamalar için NVIDIA GPU'larda daha hızlı, daha verimli yapay zeka performansı için TensorRT entegrasyonunu kullanarak Ultralytics YOLO modellerini nasıl dışa aktaracağınızı öğrenin.
Kalabalık bir caddede ilerleyen ve kaldırımdan inen bir yayayı tespit etmek için sadece milisaniyeleri olan sürücüsüz bir araç düşünün. Aynı zamanda, bir ağaç tarafından kısmen gizlenmiş bir dur işaretini fark etmesi veya şeridine giren yakındaki bir araca hızlı bir şekilde tepki vermesi gerekebilir. Bu gibi durumlarda hız ve gerçek zamanlı tepkiler kritik önem taşır.
Yapay zekanın (AI), özellikle de makinelerin görsel verileri yorumlamasına yardımcı olan bir AI dalı olan bilgisayarla görmenin kilit bir rol oynadığı yer burasıdır. Bilgisayarla görme çözümlerinin gerçek dünya ortamlarında güvenilir bir şekilde çalışabilmesi için çoğu zaman bilgileri hızlı bir şekilde işlemesi, aynı anda birden fazla görevi yerine getirmesi ve belleği verimli bir şekilde kullanması gerekir.
Bunu başarmanın bir yolu, modelleri daha hızlı çalıştırmak için grafik işleme birimleri (GPU'lar) gibi özel cihazlar kullanarak donanım hızlandırması yapmaktır. NVIDIA GPU'ları, düşük gecikme süresi ve yüksek verim sunma yetenekleri sayesinde bu tür görevler için özellikle iyi bilinmektedir.
Ancak bir modeli GPU üzerinde olduğu gibi çalıştırmak her zaman optimum performansı garanti etmez. Görsel yapay zeka modelleri genellikle donanım cihazlarının yeteneklerinden tam olarak yararlanmak için optimizasyon gerektirir. Belirli bir donanımla tam performans elde etmek için, modeli donanıma özel talimat setini kullanacak şekilde derlememiz gerekir.
Örneğin TensorRT , üst düzey makinelerde performansı artırmak için 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.
Bu makalede, Ultralytics tarafından desteklenen TensorRT entegrasyonunu keşfedeceğiz ve NVIDIA donanımında daha hızlı, daha verimli dağıtım için YOLO11 modelinizi nasıl dışa aktarabileceğinizi inceleyeceğiz. Hadi başlayalım!
TensorRT , yapay zeka modellerinin NVIDIA GPU'larda daha hızlı ve daha verimli çalışmasına yardımcı olmak için NVIDIA tarafından geliştirilen bir araç setidir. Sürücüsüz arabalar, üretim ve ilaç sektörlerinde kalite kontrolü gibi hız ve performansın gerçekten önemli olduğu gerçek dünya uygulamaları için tasarlanmıştır.
TensorRT , modellerinizin düşük gecikmeyle çalıştığından ve daha yüksek bir verimi kaldırabildiğinden emin olmak için perde arkasında çalışabilen derleyiciler ve model iyileştiriciler gibi araçlar içerir.
Ultralytics tarafından desteklenen TensorRT entegrasyonu, hassasiyeti azaltmak gibi yöntemler kullanarak YOLO modelinizi GPU'larda daha verimli çalışacak şekilde optimize ederek çalışır. Bu, model verilerini temsil etmek için 16 bit kayan nokta (FP16) veya 8 bit tamsayı (INT8) gibi daha düşük bit formatlarının kullanılması anlamına gelir; bu, bellek kullanımını azaltır ve doğruluk üzerinde minimum etki ile hesaplamayı hızlandırır.
Ayrıca, bellek kullanımını azaltmak için uyumlu sinir ağı katmanları optimize edilmiş TensorRT modellerinde birleştirilerek daha hızlı ve daha verimli çıkarım elde edilir.
TensorRT entegrasyonunu kullanarak YOLO11 'i nasıl dışa aktarabileceğinizi tartışmadan önce, TensorRT model formatının bazı temel özelliklerine bir göz atalım:
Ultralytics YOLO11 gibi Ultralytics YOLO11 modellerini TensorRT model formatına aktarmak kolaydır. İlgili adımları gözden geçirelim.
Başlamak için Ultralytics Python paketini 'pip' gibi bir paket yöneticisi kullanarak yükleyebilirsiniz. Bu, komut isteminizde veya terminalinizde "pip install ultralytics" komutunu çalıştırarak yapılabilir.
Ultralytics Python Paketini başarıyla yükledikten sonra, nesne algılama, sınıflandırma ve örnek segmentasyonu gibi çeşitli bilgisayarla görme görevleri için modelleri eğitebilir, test edebilir, ince ayar yapabilir, dışa aktarabilir ve dağıtabilirsiniz. Paketi yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Ortak Sorunlar kılavuzuna başvurabilirsiniz.
Bir sonraki adım için bir NVIDIA cihazına ihtiyacınız olacak. YOLOv11'i TensorRT model formatına yüklemek ve dışa aktarmak için aşağıdaki kod parçacığını kullanın. YOLO11 modelinin önceden eğitilmiş bir nano varyantını (yolo11n.pt) yükler ve bir TensorRT motor dosyası (yolo11n.engine) olarak dışa aktararak NVIDIA cihazlarında dağıtıma hazır hale getirir.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")
Modelinizi TensorRT formatına dönüştürdükten sonra çeşitli uygulamalar için dağıtabilirsiniz.
Aşağıdaki örnek, dışa aktarılan YOLO11 modelinin (yolo11n.engine) nasıl yükleneceğini ve kullanılarak bir çıkarımın nasıl çalıştırılacağını göstermektedir. Çıkarım, yeni veriler üzerinde tahminler yapmak için eğitilmiş modeli kullanmayı içerir. Bu durumda, modeli test etmek için bir köpeğin girdi görüntüsünü 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ığınızda, aşağıdaki çıktı görüntüsü runs/detect/predict klasörüne kaydedilecektir.
Ultralytics Python paketi, YOLO modellerinin TorchScript, CoreML, ONNX ve TensorRT gibi farklı formatlara aktarılmasını sağlayan çeşitli entegrasyonları destekler. Peki, TensorRT entegrasyonunu ne zaman kullanmayı seçmelisiniz?
İşte TensorRT model formatını diğer dışa aktarma entegrasyon seçeneklerinden ayıran birkaç faktör:
TensorRT formatına aktarılan Ultralytics YOLO modelleri, çok çeşitli gerçek dünya senaryolarında kullanılabilir. Bu optimize edilmiş modeller, özellikle hızlı ve verimli yapay zeka performansının önemli olduğu durumlarda kullanışlıdır. Nasıl kullanılabileceklerine dair bazı ilginç örnekleri inceleyelim.
Perakende mağazalarında barkod tarama, ürün tartma veya ürün paketleme gibi çok çeşitli görevler hala personel tarafından manuel olarak gerçekleştirilmektedir. Ancak, yalnızca çalışanlara güvenmek işlemleri yavaşlatabilir ve özellikle kasada müşterilerin hayal kırıklığına uğramasına neden olabilir. Uzun kuyruklar hem müşteriler hem de mağaza sahipleri için rahatsız edicidir. Akıllı self-checkout bankoları bu soruna harika bir çözümdür.
Bu sayaçlar süreci hızlandırmak için bilgisayar görüşü ve GPU'ları kullanarak bekleme sürelerini azaltmaya yardımcı olur. Bilgisayar görüşü, bu sistemlerin nesne algılama gibi görevler aracılığıyla çevrelerini görmelerini ve anlamalarını sağlar. YOLO11 gibi gelişmiş modeller, TensorRT gibi araçlarla optimize edildiğinde GPU cihazlarında çok daha hızlı çalışabilir.
Dışa aktarılan bu modeller, özellikle uç yapay zeka uygulamaları için tasarlanmış NVIDIA Jetson Nano gibi kompakt ancak güçlü donanım cihazları kullanan akıllı perakende kurulumları için çok uygundur.
YOLO11 gibi bir bilgisayarla görme modeli, imalat endüstrisindeki kusurlu ürünleri tespit etmek için özel olarak eğitilebilir. Model eğitildikten sonra, yüksek performanslı yapay zeka sistemleriyle donatılmış tesislerde kullanılmak üzere TensorRT formatına aktarılabilir.
Ürünler konveyör bantları boyunca hareket ederken kameralar görüntüleri yakalar ve TensorRT formatında çalışan YOLO11 modeli, kusurları tespit etmek için bunları gerçek zamanlı olarak analiz eder. Bu kurulum, şirketlerin sorunları hızlı ve doğru bir şekilde yakalamasını sağlayarak hataları azaltır ve verimliliği artırır.
Benzer şekilde, ilaç gibi sektörler de tıbbi ambalajlardaki kusurları tespit etmek için bu tür sistemleri kullanmaktadır. Aslında, akıllı hata tespit sistemlerine yönelik küresel pazarın 2026 yılına kadar 5 milyar dolara ulaşması bekleniyor.
TensorRT entegrasyonu, daha yüksek çıkarım hızları ve daha düşük gecikme süresi gibi birçok avantajı masaya getirirken, akılda tutulması gereken birkaç sınırlama vardır:
Ultralytics YOLO modellerinin TensorRT formatına aktarılması, modellerin önemli ölçüde daha hızlı ve daha verimli çalışmasını sağlayarak fabrikalardaki kusurları tespit etmek, akıllı ödeme sistemlerine güç sağlamak veya yoğun kentsel alanları izlemek gibi gerçek zamanlı görevler için ideal hale 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ı bilgisayarla görme sistemleri kuran herkes için mükemmel bir seçim haline getiriyor.
Yapay zeka hakkında daha fazla bilgi edinmek ister misiniz? GitHub depomuzu keşfedin, topluluğumuzla bağlantı kurun ve bilgisayarla görme projenize hızlı bir başlangıç yapmak için lisanslama seçeneklerimize göz atın. Çözüm sayfalarımızda üretimde yapay zeka ve lojistik sektöründe bilgisayarla görme gibi yenilikler hakkında daha fazla bilgi edinin.
Makine öğreniminin geleceği ile yolculuğunuza başlayın