İçeriğe geç

Ultralytics YOLO NCNN Dışa Aktarma

Mobil veya gömülü sistemler gibi sınırlı işlem gücüne sahip cihazlarda bilgisayar görüşü modellerini dağıtmak, dikkatli bir format seçimi gerektirir. Optimize edilmiş bir format kullanmak, kaynak kısıtlı cihazların bile gelişmiş bilgisayar görüşü görevlerini verimli bir şekilde yerine getirmesini sağlar.

NCNN formatına dışa aktarmak, Ultralytics YOLO26 modellerinizi hafif, cihaz tabanlı uygulamalar için optimize etmenizi sağlar. Bu kılavuz, modellerinizi mobil ve gömülü cihazlarda daha iyi performans için NCNN formatına nasıl dönüştüreceğinizi açıklar.

Neden NCNN'e Dışa Aktarılır?

NCNN sinir ağı çıkarım çerçevesi

Tencent tarafından geliştirilen NCNN çerçevesi, özellikle cep telefonları, gömülü cihazlar ve IoT cihazları dahil olmak üzere mobil platformlar için optimize edilmiş yüksek performanslı bir sinir ağı çıkarım hesaplama çerçevesidir. NCNN, Linux, Android, iOS ve macOS dahil olmak üzere çok çeşitli platformlarla uyumludur.

NCNN, mobil CPU'lardaki hızlı işlem hızıyla bilinir ve derin öğrenme modellerinin mobil platformlara hızlı bir şekilde dağıtılmasını sağlar, bu da onu yapay zeka destekli uygulamalar oluşturmak için mükemmel bir seçenek haline getirir.

NCNN Modellerinin Temel Özellikleri

NCNN modelleri, cihaz üzerinde makine öğrenimi sağlayan çeşitli temel özellikler sunar ve geliştiricilerin modelleri mobil, gömülü ve uç cihazlara dağıtmasına yardımcı olur:

  • Verimli ve Yüksek Performanslı: NCNN modelleri hafiftir ve Raspberry Pi gibi sınırlı kaynaklara sahip mobil ve gömülü cihazlar için optimize edilmiştir, aynı zamanda bilgisayar görüşü görevlerinde yüksek doğruluk sağlarlar.

  • Kuantizasyon: NCNN, performansı artırmak ve bellek ayak izini azaltmak için model ağırlıklarının ve aktivasyonlarının hassasiyetini düşüren bir teknik olan kuantizasyonu destekler.

  • Uyumluluk: NCNN modelleri, TensorFlow, Caffe ve ONNX dahil olmak üzere popüler derin öğrenme çerçeveleriyle uyumludur ve geliştiricilerin mevcut modellerden ve iş akışlarından yararlanmasına olanak tanır.

  • Kullanım Kolaylığı: NCNN, modelleri formatlar arasında dönüştürmek için kullanıcı dostu araçlar sunar ve farklı geliştirme ortamları arasında sorunsuz birlikte çalışabilirlik sağlar.

  • Vulkan GPU Hızlandırması: NCNN, AMD, Intel ve diğer NVIDIA olmayan GPU'lar dahil olmak üzere birden fazla satıcıda GPU hızlandırmalı çıkarım için Vulkan'ı destekler ve daha geniş bir donanım yelpazesinde yüksek performanslı dağıtımı mümkün kılar.

NCNN ile Dağıtım Seçenekleri

NCNN modelleri çeşitli dağıtım platformlarıyla uyumludur:

  • Mobil Dağıtım: Android ve iOS için optimize edilmiştir, cihaz üzerinde verimli çıkarım için mobil uygulamalara sorunsuz entegrasyon sağlar.

  • Gömülü Sistemler ve IoT Cihazları: Raspberry Pi ve NVIDIA Jetson gibi kaynak kısıtlı cihazlar için idealdir. Ultralytics Kılavuzu ile bir Raspberry Pi'de standart çıkarım yetersiz kalırsa, NCNN önemli performans iyileştirmeleri sağlayabilir.

  • Masaüstü ve Sunucu Dağıtımı: Geliştirme, eğitim ve değerlendirme iş akışları için Linux, Windows ve macOS genelinde dağıtımı destekler.

Vulkan GPU Hızlandırması

NCNN, Vulkan aracılığıyla GPU hızlandırmasını destekleyerek AMD, Intel ve diğer NVIDIA olmayan grafik kartları dahil olmak üzere geniş bir GPU yelpazesinde yüksek performanslı çıkarım yapılmasını sağlar. Bu, özellikle şunlar için faydalıdır:

  • Çapraz Satıcı GPU Desteği: NVIDIA GPU'larla sınırlı olan CUDA'nın aksine, Vulkan birden fazla GPU satıcısında çalışır.
  • Çoklu GPU Sistemleri: Birden fazla GPU'ya sahip sistemlerde belirli bir Vulkan cihazı seçmek için device="vulkan:0", device="vulkan:1", vb.
  • Uç ve Masaüstü Dağıtımları: CUDA'nın mevcut olmadığı cihazlarda GPU hızlandırmasından yararlanın.

Vulkan hızlandırmasını kullanmak için, çıkarım yaparken Vulkan cihazını belirtin:

Vulkan Çıkarımı

from ultralytics import YOLO

# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")

# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")

# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
# Run inference with Vulkan GPU acceleration
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg' device=vulkan:0

Vulkan Gereksinimleri

GPU'nuz için Vulkan sürücülerinin kurulu olduğundan emin olun. Çoğu modern GPU sürücüsü varsayılan olarak Vulkan desteği içerir. Vulkan kullanılabilirliğini şunun gibi araçları kullanarak doğrulayabilirsiniz: vulkaninfo Linux'ta veya Windows'ta Vulkan SDK'sını.

NCNN'e Aktarım: YOLO26 Modelinizi Dönüştürme

YOLO26 modellerini NCNN formatına dönüştürerek model uyumluluğunu ve dağıtım esnekliğini artırabilirsiniz.

Kurulum

Gerekli paketleri kurmak için şunu çalıştırın:

Kurulum

# Install the required package for YOLO26
pip install ultralytics

Ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzuna bakın. Herhangi bir zorlukla karşılaşırsanız, çözümler için Sık Karşılaşılan Sorunlar kılavuzumuza başvurun.

Kullanım

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır, bu da onları tercih ettiğiniz dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulamanız için en iyi kurulumu seçmek üzere desteklenen dışa aktarma formatlarının ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsiniz.

Kullanım

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'

# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")

# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to NCNN format
yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'

# Run inference with the exported model
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'

Dışa Aktarma Argümanları

ArgümanTürVarsayılanAçıklama
formatstr'ncnn'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan modelin hedef formatı.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya bir demet olabilir (height, width) belirli boyutlar için.
halfboolFalseFP16 (yarı duyarlıklı) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımda çıkarımı potansiyel olarak hızlandırır.
batchint1Dışa aktarma modeli toplu çıkarım boyutunu veya dışa aktarılan modelin aynı anda işleyeceği maksimum görüntü sayısını belirtir. predict modu.
devicestrNoneDışa aktarma için cihazı belirtir: GPU (device=0), CPU (device=cpu), Apple silikon için MPS (device=mps).

Dışa aktarma süreci hakkında daha fazla bilgi için Ultralytics'in dışa aktarma hakkındaki dokümantasyon sayfasını ziyaret edin.

Aktarılmış YOLO26 NCNN Modellerini Dağıtma

Ultralytics YOLO26 modellerinizi NCNN formatına dışa aktardıktan sonra, bunları kullanarak dağıtabilirsiniz YOLO("yolo26n_ncnn_model/") yukarıdaki kullanım örneğinde gösterildiği gibi yöntemi. Platforma özgü dağıtım talimatları için aşağıdaki kaynaklara bakın:

  • Android: Android uygulamalarında nesne detect için NCNN modellerini oluşturun ve entegre edin.

  • macOS: NCNN modellerini macOS sistemlerine dağıtın.

  • Linux: NCNN modellerini Raspberry Pi ve benzeri gömülü sistemler dahil olmak üzere Linux cihazlarına dağıtın.

  • Windows x64: NCNN modellerini Visual Studio kullanarak Windows x64'e dağıtın.

Özet

Bu kılavuz, kaynak kısıtlı cihazlarda daha iyi verimlilik ve hız için Ultralytics YOLO26 modellerini NCNN formatına dışa aktarmayı ele almıştır.

Ek ayrıntılar için resmi NCNN belgelerine bakın. Diğer dışa aktarma seçenekleri için entegrasyon kılavuzu sayfamızı ziyaret edin.

SSS

Ultralytics YOLO26 modellerini NCNN formatına nasıl aktarırım?

Ultralytics YOLO26 modelinizi NCNN formatına dışa aktarmak için:

  • Python: Şunu kullanın: export YOLO sınıfından yöntemi.

    from ultralytics import YOLO
    
    # Load the YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
    
  • CLI: Şunu kullanın: yolo export komutu.

    yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
    

Ayrıntılı dışa aktarma seçenekleri için Dışa Aktarma belgelerine bakın.

YOLO26 modellerini NCNN'e aktarmanın avantajları nelerdir?

Ultralytics YOLO26 modellerinizi NCNN'e dışa aktarmak çeşitli avantajlar sunar:

  • Verimlilik: NCNN modelleri, mobil ve gömülü cihazlar için optimize edilmiştir ve sınırlı işlem kaynaklarıyla bile yüksek performans sağlar.
  • Kuvantizasyon: NCNN, model hızını artıran ve bellek kullanımını azaltan kuvantizasyon gibi teknikleri destekler.
  • Geniş Uyumluluk: NCNN modellerini Android, iOS, Linux ve macOS dahil olmak üzere birden fazla platformda dağıtabilirsiniz.
  • Vulkan GPU Hızlandırması: Daha hızlı çıkarım için AMD, Intel ve diğer NVIDIA olmayan GPU'larda Vulkan aracılığıyla GPU hızlandırmasından yararlanın.

Daha fazla ayrıntı için Neden NCNN'e Dışa Aktarılmalı? bölümüne bakın.

Mobil yapay zeka uygulamalarım için neden NCNN kullanmalıyım?

Tencent tarafından geliştirilen NCNN, özellikle mobil platformlar için optimize edilmiştir. NCNN kullanmanın temel nedenleri şunlardır:

  • Yüksek Performans: Mobil CPU'larda verimli ve hızlı işleme için tasarlanmıştır.
  • Çapraz Platform: TensorFlow ve ONNX gibi popüler çerçevelerle uyumlu olup, modellerin farklı platformlarda dönüştürülmesini ve dağıtılmasını kolaylaştırır.
  • Topluluk Desteği: Aktif topluluk desteği, sürekli iyileştirmeler ve güncellemeler sağlar.

Daha fazla bilgi için NCNN Modellerinin Temel Özellikleri bölümüne bakın.

NCNN model dağıtımı için hangi platformlar desteklenmektedir?

NCNN çok yönlüdür ve çeşitli platformları destekler:

  • Mobil: Android, iOS.
  • Gömülü Sistemler ve IoT Cihazları: Raspberry Pi ve NVIDIA Jetson gibi cihazlar.
  • Masaüstü ve Sunucular: Linux, Windows ve macOS.

Raspberry Pi'de daha iyi performans için, Raspberry Pi Kılavuzumuzda ayrıntılı olarak belirtildiği gibi NCNN formatını kullanmayı düşünebilirsiniz.

Ultralytics YOLO26 NCNN modellerini Android'e nasıl dağıtabilirim?

YOLO26 modellerinizi Android'e dağıtmak için:

  1. Android için Derleme: NCNN Android için Derleme kılavuzunu takip edin.
  2. Uygulamanızla Entegre Edin: Dışa aktarılan modeli, cihaz üzerinde verimli çıkarım için NCNN Android SDK'sını kullanarak uygulamanıza entegre edin.

Ayrıntılı talimatlar için Dışa Aktarılan YOLO26 NCNN Modellerini Dağıtma bölümüne bakın.

Daha gelişmiş kılavuzlar ve kullanım durumları için Ultralytics dağıtım kılavuzunu ziyaret edin.

NCNN modelleriyle Vulkan GPU hızlandırmasını nasıl kullanırım?

NCNN, AMD, Intel ve diğer NVIDIA olmayan GPU'larda GPU hızlandırması için Vulkan'ı destekler. Vulkan'ı kullanmak için:

from ultralytics import YOLO

# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0")  # Use first Vulkan device

Çoklu GPU sistemleri için cihaz dizinini belirtin (örn., vulkan:1 ikinci GPU için). GPU'nuz için Vulkan sürücülerinin yüklü olduğundan emin olun. Bkz. Vulkan GPU Hızlandırması bölümüne bakın.



📅 1 yıl önce oluşturuldu ✏️ 5 gün önce güncellendi
glenn-jocherlakshanthadRizwanMunawarFaerbitpderrengerlakshanthadUltralyticsAssistantMatthewNoyceabirami-vina

Yorumlar