İçeriğe geç

Optimize YOLOv8 İle çıkarımlar Neural Magic'nin DeepSparse Motoru

gibi nesne algılama modellerini dağıtırken Ultralytics YOLOv8 çeşitli donanımlarda, optimizasyon gibi benzersiz sorunlarla karşılaşabilirsiniz. İşte bu noktada YOLOv8'un Neural Magic'un DeepSparse Engine ile entegrasyonu devreye giriyor. YOLOv8 modellerinin yürütülme şeklini dönüştürür ve doğrudan CPU'larda GPU düzeyinde performans sağlar.

Bu kılavuz, Neural Magic's DeepSparse kullanarak YOLOv8 adresini nasıl dağıtacağınızı, çıkarımları nasıl çalıştıracağınızı ve ayrıca optimize edildiğinden emin olmak için performansı nasıl kıyaslayacağınızı gösterir.

Neural Magic'in DeepSparse

Neural MagicDeepSparse'a Genel Bakış

Neural MagicDeepSparse, CPU'larda sinir ağlarının yürütülmesini optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. Doğruluğu korurken hesaplama taleplerini önemli ölçüde azaltmak için seyreklik, budama ve niceleme 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.

Entegrasyonun Faydaları Neural Magic'nin DeepSparse ile YOLOv8

Nasıl dağıtılacağına dalmadan önce YOLOV8 DeepSparse'i kullanarak, DeepSparse'i kullanmanın faydalarını anlayalım. Bazı önemli avantajlar şunları içerir:

  • Geliştirilmiş Çıkarım Hızı: 525 FPS'ye kadar ( YOLOv8n adresinde) ulaşarak YOLOv8'un çıkarım yeteneklerini geleneksel yöntemlere kıyasla önemli ölçüde hızlandırır.

Geliştirilmiş Çıkarım Hızı

  • Optimize Edilmiş Model Verimliliği: YOLOv8 'un verimliliğini artırmak için budama ve niceleme kullanır, doğruluğu korurken model boyutunu ve hesaplama gereksinimlerini azaltır.

Optimize Edilmiş Model Verimliliği

  • 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 sunar.

  • Kolaylaştırılmış Entegrasyon ve Dağıtım: Görüntü ve video açıklama özellikleri de dahil olmak üzere YOLOv8 'un uygulamalara kolay entegrasyonu için kullanıcı dostu araçlar sunar.

  • Çeşitli Model Türleri için Destek: Hem standart hem de seyreklik için optimize edilmiş YOLOv8 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'un DeepSparse Teknolojisi Nasıl Çalışır?

Neural MagicDeep Sparse teknolojisi, insan beyninin sinir ağı hesaplamasındaki verimliliğinden esinlenmiştir. Beyinden aşağıdaki gibi iki temel prensibi benimser:

  • Seyreklik: 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ın Yerelliği: DeepSparse, ağı Tensor Sütunlarına bölen benzersiz bir yürütme yöntemi kullanır. Bu sütunlar, tamamen CPU'un ö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'un önbellek kullanımını en üst düzeye çıkarır.

Neural Magic'un DeepSparse Teknolojisi Nasıl Çalışır?

Neural Magic'un DeepSparse teknolojisinin nasıl çalıştığı hakkında daha fazla ayrıntı için blog gönderilerine göz atın.

Özel Bir Veri Kümesi Üzerinde Eğitilmiş YOLOv8 'un Seyrek Bir Sürümünü Oluşturma

Neural Magic tarafından geliştirilen açık kaynaklı bir model deposu olan SparseZoo, önceden ayrıştırılmış YOLOv8 model kontrol noktalarından oluşan bir koleksiyon sunmaktadır. Ultralytics ile sorunsuz bir şekilde entegre olan SparseML ile kullanıcılar, basit bir komut satırı arayüzü kullanarak bu seyrek kontrol noktalarına kendi özel veri kümelerinde zahmetsizce ince ayar yapabilirler.

Daha fazla ayrıntı için Neural Magic'un SparseML YOLOv8 belgelerine göz atın.

Kullanım: DeepSparse kullanarak YOLOV8 adresini dağıtma

YOLOv8 adresini Neural Magic's DeepSparse ile dağıtmak birkaç basit adımı içerir. Kullanım talimatlarına geçmeden önce, Ultralytics tarafından sunulanYOLOv8 modelleri yelpazesine göz attığınızdan emin olun. Bu, proje gereksinimleriniz için en uygun modeli seçmenize yardımcı olacaktır. İşte nasıl başlayabileceğiniz.

Adım 1: Kurulum

Gerekli paketleri yüklemek için çalıştırın:

Kurulum

# Install the required packages
pip install deepsparse[yolov8]

Adım 2: YOLOv8 adresini ONNX Formatına Aktarma

DeepSparse Engine, YOLOv8 modellerinin ONNX biçiminde olmasını gerektirir. Modelinizi bu formata aktarmak DeepSparse ile uyumluluk için gereklidir. YOLOv8 modellerini dışa aktarmak için aşağıdaki komutu kullanın:

Model İhracatı

# Export YOLOv8 model to ONNX format
yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

Bu komut aşağıdakileri kaydedecektir yolov8n.onnx modelini diskinize yükleyin.

Adım 3: Çıkarımları Dağıtma ve Çalıştırma

YOLOv8 modeliniz ONNX biçimindeyken DeepSparse kullanarak çıkarımları dağıtabilir ve çalıştırabilirsiniz. Bu, sezgisel Python API'si ile kolayca yapılabilir:

Çıkarımları Dağıtma ve Çalıştırma

from deepsparse import Pipeline

# Specify the path to your YOLOv8 ONNX model
model_path = "path/to/yolov8n.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 Karşılaştırması

YOLOv8 modelinizin DeepSparse üzerinde en iyi şekilde çalışıp çalışmadığını kontrol etmek önemlidir. Verim ve gecikme süresini analiz etmek için modelinizin performansını kıyaslayabilirsiniz:

Kıyaslama

# Benchmark performance
deepsparse.benchmark model_path="path/to/yolov8n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Adım 5: Ek Özellikler

DeepSparse, görüntü açıklama ve veri kümesi değerlendirmesi gibi uygulamalarda YOLOv8 'un pratik entegrasyonu için ek özellikler sağlar.

Ek Özellikler

# For image annotation
deepsparse.yolov8.annotate --source "path/to/image.jpg" --model_filepath "path/to/yolov8n.onnx"

# For evaluating model performance on a dataset
deepsparse.yolov8.eval --model_path "path/to/yolov8n.onnx"

Annotate komutunu çalıştırmak, belirttiğiniz görüntüyü işler, nesneleri algılar ve sınırlayıcı kutular ve sınıflandırmalarla birlikte açıklamalı görüntüyü kaydeder. 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.

Görüntü Ek Açıklama Özelliği

eval komutunu çalıştırdıktan sonra, hassasiyet, geri çağırma ve mAP (ortalama Ortalama Hassasiyet) gibi ayrıntılı çıktı ölçümleri alacaksınız. Bu, modelinizin veri kümesi üzerindeki performansına ilişkin kapsamlı bir görünüm sağlar. Bu işlevsellik, YOLOv8 modellerinizi belirli kullanım durumları için ince ayar yapmak ve optimize etmek, yüksek doğruluk ve verimlilik sağlamak için özellikle yararlıdır.

Özet

Bu kılavuzda Ultralytics' YOLOv8 ile Neural Magic'DeepSparse Engine'in entegrasyonu incelenmiştir. Bu entegrasyonun YOLOv8'un CPU platformlarındaki performansını nasıl artırdığı, GPU düzeyinde verimlilik ve gelişmiş sinir ağı seyreklik teknikleri sunduğu vurgulanmıştır.

Daha ayrıntılı bilgi ve gelişmiş kullanım için Neural Magic'un DeepSparse belgelerini ziyaret edin. Ayrıca, Neural Magic'un YOLOv8 ile entegrasyon hakkındaki belgelerineburadan göz atın ve bu konudaki harika bir oturumu buradan izleyin.

Ayrıca, çeşitli YOLOv8 entegrasyonları hakkında daha geniş bir anlayış için, bir dizi diğer heyecan verici entegrasyon olasılığını keşfedebileceğiniz Ultralytics entegrasyon kılavuzu sayfasını ziyaret edin.

SSS

Neural Magic'un DeepSparse Motoru nedir ve YOLOv8 performansını nasıl optimize eder?

Neural MagicDeepSparse Engine, seyreklik, budama ve niceleme gibi gelişmiş teknikler aracılığıyla CPU'larda sinir ağlarının yürütülmesini optimize etmek için tasarlanmış bir çıkarım çalışma zamanıdır. DeepSparse'ı YOLOv8 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ırabilirsiniz. Daha fazla ayrıntı için Neural Magic'un DeepSparse bölümüne göz atın.

Neural Magic's DeepSparse kullanarak YOLOv8 dağıtmak için gerekli paketleri nasıl yükleyebilirim?

YOLOv8 adresini Neural Magic's DeepSparse ile dağıtmak için gerekli paketleri yüklemek kolaydır. Bunları CLI adresini kullanarak kolayca yükleyebilirsiniz. İşte çalıştırmanız gereken komut:

pip install deepsparse[yolov8]

Kurulduktan sonra, ortamınızı ayarlamak ve DeepSparse'ı YOLOv8 ile kullanmaya başlamak için Kurulum bölümünde verilen adımları izleyin.

DeepSparse ile kullanmak için YOLOv8 modellerini ONNX formatına nasıl dönüştürebilirim?

YOLOv8 modellerini DeepSparse ile uyumluluk için gerekli olan ONNX formatına dönüştürmek için aşağıdaki CLI komutunu kullanabilirsiniz:

yolo task=detect mode=export model=yolov8n.pt format=onnx opset=13

Bu komut YOLOv8 modelinizi (yolov8n.pt) bir biçime (yolov8n.onnx) DeepSparse Motoru tarafından kullanılabilir. Model dışa aktarma hakkında daha fazla bilgi için Model Dışa Aktarma bölümü.

DeepSparse Engine üzerinde YOLOv8 performansını nasıl kıyaslayabilirim?

DeepSparse üzerinde YOLOv8 performansını kıyaslamak, modelinizin optimize edildiğinden emin olmak için verim ve gecikme süresini analiz etmenize yardımcı olur. Bir kıyaslama çalıştırmak için aşağıdaki CLI komutunu kullanabilirsiniz:

deepsparse.benchmark model_path="path/to/yolov8n.onnx" --scenario=sync --input_shapes="[1,3,640,640]"

Bu komut size önemli performans ölçümleri sağlayacaktır. Daha fazla ayrıntı için Performansı Kıyaslama bölümüne bakın.

Nesne algılama görevleri için neden Neural Magic'un DeepSparse'ını YOLOv8 ile kullanmalıyım?

Neural Magic'un DeepSparse'ını YOLOv8 ile entegre etmek çeşitli avantajlar sunar:

  • Geliştirilmiş Çıkarım Hızı: 525 FPS'ye kadar ulaşarak YOLOv8'un yeteneklerini önemli ölçüde hızlandırır.
  • Optimize Edilmiş Model Verimliliği: Doğruluğu korurken model boyutunu ve hesaplama ihtiyaçlarını azaltmak için seyreklik, budama ve niceleme tekniklerini 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 için optimize edilmiş YOLOv8 modellerini destekler.
  • Uygun Maliyetli: Etkin kaynak kullanımı sayesinde operasyonel giderleri azaltır.

Bu avantajları daha derinlemesine incelemek için Neural Magic'un DeepSparse'ını YOLOv8 ile Entegre Etmenin Faydaları bölümünü ziyaret edin.



Oluşturma 2023-12-30, Güncelleme 2024-07-05
Yazarlar: glenn-jocher (7), abirami-vina (1)

Yorumlar