Neural Magic'in DeepSparse Motoru ile YOLO26 Çıkarımlarını Optimize Etme#
Ultralytics YOLO26 gibi nesne tespiti modellerini çeşitli donanımlarda dağıtırken optimizasyon gibi benzersiz sorunlarla karşılaşabilirsin. İşte YOLO26'nın Neural Magic'in DeepSparse Engine entegrasyonunun devreye girdiği nokta tam da burasıdır. YOLO26 modellerinin çalıştırılma biçimini dönüştürür ve doğrudan CPU'larda GPU düzeyinde performans sağlar.
Bu kılavuz, Neural Magic'in DeepSparse'ını kullanarak YOLO26'yı nasıl dağıtacağını, çıkarımları nasıl çalıştıracağını ve ayrıca optimize edildiğinden emin olmak için performansı nasıl kıyaslayacağını gösterir.
Neural Magic, Ocak 2025'te Red Hat tarafından satın alındı ve deepsparse, sparseml, sparsezoo ile sparsify kütüphanelerinin topluluk sürümlerini kullanımdan kaldırıyor. Ek bilgi için sparsify GitHub deposunun Benioku dosyasında yayınlanan duyuruya göz at.
Neural Magic'in DeepSparse'ı#
Neural Magic's DeepSparse, sinir ağlarının CPU'larda çalıştırılmasını optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. Doğruluğu korurken hesaplama gereksinimlerini önemli ölçüde azaltmak için seyreklik (sparsity), budama (pruning) ve nicemleme (quantization) gibi gelişmiş teknikler uygular. DeepSparse, çeşitli cihazlarda verimli ve ölçeklenebilir sinir ağı yürütümü için çevik bir çözüm sunar.
Neural Magic'in DeepSparse'ının YOLO26 ile Entegrasyonunun Faydaları#
DeepSparse kullanarak YOLO26'yı nasıl dağıtacağını incelemeden önce, DeepSparse kullanmanın faydalarını anlayalım. Temel avantajlardan bazıları şunlardır:
- Gelişmiş Çıkarım Hızı: (YOLO11n üzerinde) 525 FPS'ye kadar ulaşarak geleneksel yöntemlere kıyasla YOLO'nun çıkarım yeteneklerini önemli ölçüde hızlandırır.
- Optimize Edilmiş Model Verimliliği: Doğruluğu korurken model boyutunu ve hesaplama gereksinimlerini azaltarak YOLO26'nın verimliliğini artırmak için budama ve nicemleme kullanır.
-
Standart CPU'larda Yüksek Performans: CPU'larda GPU benzeri performans sunarak çeşitli uygulamalar için daha erişilebilir ve uygun maliyetli bir seçenek sağlar.
-
Kolaylaştırılmış Entegrasyon ve Dağıtım: Görüntü ve video ek açıklama özellikleri dahil olmak üzere YOLO26'nın uygulamalara kolay entegrasyonu için kullanıcı dostu araçlar sunar.
-
Çeşitli Model Tipleri İçin Destek: Hem standart hem de seyreklik açısından optimize edilmiş YOLO26 modelleriyle uyumludur ve dağıtım esnekliği sağlar.
-
Uygun Maliyetli ve Ölçeklenebilir Çözüm: Operasyonel giderleri azaltır ve gelişmiş nesne algılama modellerinin ölçeklenebilir dağıtımını sunar.
Neural Magic'in DeepSparse Teknolojisi Nasıl Çalışır?#
Neural Magic'in DeepSparse teknolojisi, insan beyninin sinir ağı hesaplamasındaki verimliliğinden esinlenmiştir. Beyinden alınan iki temel ilkeyi şu şekilde benimser:
-
Seyreklik (Sparsity): Seyrekleştirme süreci, derin öğrenme ağlarındaki gereksiz bilgilerin budanmasını içerir; bu sayede doğruluktan ödün vermeden daha küçük ve daha hızlı modeller elde edilir. Bu teknik, ağın boyutunu ve hesaplama ihtiyaçlarını önemli ölçüde azaltır.
-
Referans Yerelliği (Locality of Reference): DeepSparse, ağı Tensor Sütunlarına bölen benzersiz bir yürütme yöntemi kullanır. Bu sütunlar, tamamen CPU'nun önbelleğine sığacak şekilde derinlemesine yürütülür. Bu yaklaşım beynin verimliliğini taklit ederek veri hareketini en aza indirir ve CPU'nun önbellek kullanımını en üst düzeye çıkarır.
Özel Bir Veri Kümesi Üzerinde Eğitilmiş YOLO26'nın Seyrek Bir Versiyonunu Oluşturma#
Neural Magic tarafından geliştirilen açık kaynaklı bir model deposu olan SparseZoo, önceden seyrekleştirilmiş YOLO26 model kontrol noktalarından oluşan bir koleksiyon sunar. Ultralytics ile kusursuz bir şekilde entegre edilmiş SparseML sayesinde kullanıcılar, basit bir komut satırı arayüzü kullanarak bu seyrekleştirilmiş kontrol noktalarını kendi özel veri setleri üzerinde zahmetsizce ince ayarlardan geçirebilirler.
Daha fazla ayrıntı için Neural Magic'in SparseML YOLO26 belgelerine göz at.
Kullanım: DeepSparse kullanarak YOLO26 dağıtımı#
YOLO26'yı Neural Magic'in DeepSparse ürünüyle dağıtmak birkaç basit adım içerir. Kullanım talimatlarına geçmeden önce, Ultralytics tarafından sunulan YOLO26 modelleri yelpazesine göz atmayı unutma. Bu, proje gereksinimlerin için en uygun modeli seçmene yardımcı olacaktır. Başlamak için izleyebileceğin yol şu şekildedir.
Adım 1: Kurulum#
Gerekli paketleri kurmak için şunu çalıştır:
# Install the required packages
pip install deepsparse[yolov8]Adım 2: YOLO26'yı ONNX Formatına Aktarma#
DeepSparse Engine, YOLO26 modellerini ONNX formatında gerektirir. Modelini bu forma dışa aktarmak, DeepSparse ile uyumluluk açısından esastır. YOLO26 modellerini dışa aktarmak için şu komutu kullan:
# Export YOLO26 model to ONNX format
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Bu komut yolo26n.onnx modelini diske kaydedecektir.
Adım 3: Dağıtım ve Çıkarımları Çalıştırma#
YOLO26 modelin ONNX formatındayken, DeepSparse kullanarak dağıtabilir ve çıkarımları çalıştırabilirsin. Bu işlem, sezgisel Python API'leri ile kolayca yapılabilir:
from deepsparse import Pipeline
# Specify the path to your YOLO26 ONNX model
model_path = "path/to/yolo26n.onnx"
# Set up the DeepSparse Pipeline
yolo_pipeline = Pipeline.create(task="yolov8", model_path=model_path)
# Run the model on your images
images = ["path/to/image.jpg"]
pipeline_outputs = yolo_pipeline(images=images)Adım 4: Performans Kıyaslaması#
YOLO26 modelinin DeepSparse üzerinde en iyi performansı gösterdiğini kontrol etmek önemlidir. Verim ve gecikme süresini analiz etmek için modelinin performansını benchmark testine tabii tutabilirsin:
# Benchmark performance
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Adım 5: Ek Özellikler#
DeepSparse, YOLO26'nın uygulamalara pratik entegrasyonu için görüntü ek açıklama ve veri kümesi değerlendirmesi gibi ek özellikler sağlar.
# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolo26n.onnx"
# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolo26n.onnx"Annotate komutunu çalıştırmak, belirttiğin görüntüyü işler, nesneleri algılar ve ek açıklamalı görüntüyü sınırlayıcı kutular ve sınıflandırmalarla kaydeder. Ek açıklamalı görüntü, bir annotation-results klasöründe saklanacaktır. Bu, modelin algılama yeteneklerinin görsel bir temsilini sağlamaya yardımcı olur.
Değerlendirme (eval) komutunu çalıştırdıktan sonra kesinlik (precision), duyarlılık (recall) ve mAP (ortalama Ortalama Kesinlik) gibi ayrıntılı çıktı metrikleri alacaksın. Bu, modelinin veri setindeki performansının kapsamlı bir görünümünü sunar; YOLO26 modellerini belirli kullanım senaryoları için ince ayardan geçirmek ve optimize etmek, yüksek doğruluk ve verimlilik sağlamak adına özellikle faydalıdır.
Özet#
Bu kılavuz, Ultralytics'in YOLO26'sının Neural Magic'in DeepSparse Motoru ile entegrasyonunu inceledi. Bu entegrasyonun YOLO26'nın CPU platformlarındaki performansını nasıl artırdığını, GPU düzeyinde verimlilik ve gelişmiş sinir ağı seyreklik teknikleri sunduğunu vurguladı.
Daha ayrıntılı bilgi ve gelişmiş kullanım için Neural Magic tarafından hazırlanan DeepSparse belgelerini ziyaret et. Ayrıca YOLO26 entegrasyon kılavuzunu inceleyebilir ve YouTube'daki rehberli oturumu izleyebilirsin.
Ek olarak, çeşitli YOLO26 entegrasyonları hakkında daha geniş bir anlayış kazanmak için çok çeşitli diğer heyecan verici entegrasyon olasılıklarını keşfedebileceğin Ultralytics entegrasyon kılavuzu sayfasını ziyaret edebilirsin.
SSS#
Neural Magic'in DeepSparse Engine'i; seyreklik, budama ve nicemleme gibi gelişmiş teknikler aracılığıyla sinir ağlarının CPU'larda çalıştırılmasını optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. DeepSparse'ı YOLO26 ile entegre ederek standart CPU'larda GPU benzeri bir performans elde edebilir, doğruluğu korurken çıkarım hızını, model verimliliğini ve genel performansı önemli ölçüde artırabilirsin. Daha fazla ayrıntı için Neural Magic'in DeepSparse bölümüne göz atın.
YOLO26'yı Neural Magic'in DeepSparse ile dağıtmak için gereken paketleri kurmak oldukça kolaydır. Bunları CLI kullanarak kolayca kurabilirsin. Çalıştırman gereken komut şudur:
pip install deepsparse[yolov8]Yüklendikten sonra, ortamını ayarlamak ve DeepSparse'ı YOLO26 ile kullanmaya başlamak için Yükleme bölümünde verilen adımları takip et.
YOLO26 modellerini DeepSparse ile uyumluluk için gerekli olan ONNX formatına dönüştürmek için aşağıdaki CLI komutunu kullanabilirsin:
yolo task=detect mode=export model=yolo26n.pt format=onnx opset=13Bu komut, YOLO26 modelini (
yolo26n.pt), DeepSparse Engine tarafından kullanılabilecek bir forma (yolo26n.onnx) dışa aktaracaktır. Model dışa aktarımı hakkında daha fazla bilgiyi Model Dışa Aktarma bölümünde bulabilirsin.DeepSparse üzerindeki YOLO26 performansını kıyaslamak, modelinin optimize edildiğinden emin olmak için iş hacmini ve gecikmeyi analiz etmene yardımcı olur. Kıyaslama çalıştırmak için aşağıdaki CLI komutunu kullanabilirsin:
deepsparse.benchmark model_path="path/to/yolo26n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"Bu komut sana hayati performans metrikleri sağlayacaktır. Daha fazla ayrıntı için Performansı Kıyaslama bölümüne göz at.
Neural Magic'in DeepSparse'ını YOLO26 ile entegre etmenin birkaç faydası vardır:
- Gelişmiş Çıkarım Hızı: (YOLO11n üzerinde) 525 FPS'ye kadar ulaşarak DeepSparse'ın optimizasyon yeteneklerini kanıtlar.
- Optimize Edilmiş Model Verimliliği: Doğruluğu korurken model boyutunu ve hesaplama ihtiyaçlarını azaltmak için seyreklik, budama ve nicemleme teknikleri kullanır.
- Standart CPU'larda Yüksek Performans: Uygun maliyetli CPU donanımında GPU benzeri performans sunar.
- Kolaylaştırılmış Entegrasyon: Kolay dağıtım ve entegrasyon için kullanıcı dostu araçlar.
- Esneklik: Hem standart hem de seyreklik açısından optimize edilmiş YOLO26 modellerini destekler.
- Uygun Maliyetli: Verimli kaynak kullanımı sayesinde operasyonel giderleri azaltır.
Bu avantajların daha derinlemesine bir incelemesi için Neural Magic'in DeepSparse ile YOLO26'yı Entegre Etmenin Faydaları bölümünü ziyaret et.