Neural Magic'in DeepSparse Motoru ile YOLO26 Çıkarımlarını Optimize Etme#
Nesne tespiti modellerini Ultralytics YOLO26 gibi çeşitli donanımlarda dağıtırken, optimizasyon gibi benzersiz sorunlarla karşılaşabilirsin. YOLO26'nın Neural Magic'in DeepSparse Engine entegrasyonu tam burada devreye giriyor. 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 ve sparsify kütüphanelerinin topluluk sürümlerini kullanımdan kaldırıyor. Ek bilgi için sparsify GitHub deposundaki Readme dosyasında yayınlanan bildirime bakabilirsin.
Neural Magic'in DeepSparse'ı#
Neural Magic'in DeepSparse'ı, sinir ağlarının CPU'larda çalışmasını optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. Hesaplama gereksinimlerini önemli ölçüde azaltırken doğruluğu korumak 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ütme 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 ve doğruluktan ödün vermeden daha küçük ve daha hızlı modellere yol açar. 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ş bir dizi YOLO26 model kontrol noktası sunar. Ultralytics ile sorunsuz bir şekilde entegre olan SparseML sayesinde, kullanıcılar bu seyrek kontrol noktalarını belirli veri kümelerinde basit bir komut satırı arayüzü kullanarak zahmetsizce ince ayar yapabilirler.
Daha fazla ayrıntı için Neural Magic'in SparseML YOLO26 belgelerine göz atabilirsin.
Kullanım: DeepSparse kullanarak YOLO26 dağıtımı#
YOLO26'yı Neural Magic'in DeepSparse'ı ile 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. İşte nasıl başlayacağın.
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 Motoru, YOLO26 modellerini ONNX formatında gerektirir. Modelini bu formata aktarmak, DeepSparse ile uyumluluk için şarttı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 diskine 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 şekilde çalıştığını kontrol etmek önemlidir. İş hacmini ve gecikmeyi analiz etmek için modelinin performansını kıyaslayabilirsin:
# 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.
Eval komutunu çalıştırdıktan sonra hassasiyet, duyarlılık ve mAP (ortalama Ortalama Hassasiyet) gibi ayrıntılı çıktı metrikleri alırsın. Bu, modelinin veri kümesindeki performansının kapsamlı bir görünümünü sağlar ve özellikle YOLO26 modellerine belirli kullanım durumları için ince ayar yapmak ve optimize etmek, yüksek doğruluk ve verimlilik sağlamak için yararlı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 izleme oturumunu izleyebilirsin.
Ek olarak, çeşitli YOLO26 entegrasyonları hakkında daha geniş bir anlayış için, diğer heyecan verici entegrasyon olanaklarını keşfedebileceğin Ultralytics entegrasyon kılavuzu sayfasını ziyaret et.
SSS#
Neural Magic'in DeepSparse Motoru, seyreklik, budama ve nicemleme gibi gelişmiş tekniklerle sinir ağlarının CPU'larda çalışmasını optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. DeepSparse'ı YOLO26 ile entegre ederek, standart CPU'larda GPU benzeri 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.
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]Kurulumdan sonra, ortamını hazırlamak ve DeepSparse'ı YOLO26 ile kullanmaya başlamak için Kurulum bölümünde verilen adımları izle.
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 Motoru tarafından kullanılabilecek bir formata (yolo26n.onnx) aktaracaktır. Model dışa aktarma 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 bak.
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 derin bir incelemesi için Neural Magic'in DeepSparse'ının YOLO26 ile Entegrasyonunun Faydaları bölümünü ziyaret et.