Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO NCNN Dışa Aktarımı#

Bilgisayarlı görü modellerini mobil veya gömülü sistemler gibi sınırlı hesaplama gücüne sahip cihazlarda çalıştırmak, dikkatli bir format seçimi gerektirir. Optimize edilmiş bir format kullanmak, kaynak kısıtlı cihazların bile gelişmiş bilgisayarlı görü görevlerini verimli bir şekilde yönetebilmesini sağlar.

NCNN formatına dışa aktarma, Ultralytics YOLO26 modellerini hafif tabanlı uygulamalar için optimize etmene olanak tanır. Bu rehber, modellerini mobil ve gömülü cihazlarda daha iyi performans için nasıl NCNN formatına dönüştüreceğini kapsar.

Link to this sectionNeden NCNN'ye Dışa Aktarmalısın?#

NCNN high-performance neural network inference framework

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 bilişim ç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ızla dağıtılmasını sağlayarak yapay zeka destekli uygulamalar oluşturmak için mükemmel bir seçim haline gelir.

Link to this sectionNCNN Modellerinin Temel Özellikleri#

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

  • Verimli ve Yüksek Performanslı: NCNN modelleri hafiftir ve Raspberry Pi gibi sınırlı kaynağa sahip mobil ve gömülü cihazlar için optimize edilmiştir; bu sırada bilgisayarlı görü görevlerinde yüksek doğruluk oranını korur.

  • Kuantizasyon (Nicemleme): 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; bu da geliştiricilerin mevcut modellerden ve iş akışlarından yararlanmalarına olanak tanır.

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

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

Link to this sectionNCNN 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 Rehberi ile bir Raspberry Pi üzerindeki standart çıkarım yeterli değilse, 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.

Link to this sectionVulkan GPU Hızlandırma#

NCNN, Vulkan aracılığıyla GPU hızlandırmayı destekleyerek AMD, Intel ve diğer NVIDIA dışı grafik kartları dahil olmak üzere çok çeşitli GPU'larda yüksek performanslı çıkarım sağlar. Bu özellikle şunlar için yararlıdır:

  • Satıcılar Arası GPU Desteği: Sadece 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 device="vulkan:0", device="vulkan:1" vb. kullanarak belirli bir Vulkan cihazını seç.
  • Uç ve Masaüstü Dağıtımları: CUDA'nın bulunmadığı cihazlarda GPU hızlandırmasından yararlan.

Vulkan hızlandırmasını kullanmak için çıkarım çalıştırırken Vulkan cihazını belirt:

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")
Vulkan Gereksinimleri

GPU'n için Vulkan sürücülerinin yüklü olduğundan emin ol. Çoğu modern GPU sürücüsü varsayılan olarak Vulkan desteği içerir. Vulkan kullanılabilirliğini Linux üzerinde vulkaninfo veya Windows üzerinde Vulkan SDK gibi araçları kullanarak doğrulayabilirsin.

Link to this sectionNCNN'ye Dışa Aktarma: YOLO26 Modelini Dönüştürme#

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

Link to this sectionDesteklenen Görevler#

NCNN dışa aktarımı, standart Ultralytics YOLO26 görev setini destekler.

Link to this sectionKurulum#

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

Kurulum
# Install the required package for YOLO26
pip install ultralytics

Ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum rehberine bak. Herhangi bir zorlukla karşılaşırsan, çözümler için Yaygın Sorunlar rehberimize danış.

Link to this sectionKullanım#

Tüm Ultralytics YOLO26 modelleri, kutudan çıktığı gibi dışa aktarımı destekleyecek şekilde tasarlanmıştır, bu da onları tercih ettiğin dağıtım iş akışına entegre etmeyi kolaylaştırır. Uygulaman 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üleyebilirsin.

NCNN formatı Dışa Aktar, Tahmin ve Doğrula modlarını destekler. Modelini dışa aktar, ardından çıkarım çalıştırmak veya doğruluğunu doğrulamak için dışa aktarılan modeli yükle.

Dışa Aktar (Export)
from ultralytics import YOLO

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

# Export the model to NCNN format
model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
Tahmin Et (Predict)
from ultralytics import YOLO

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

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Doğrula
from ultralytics import YOLO

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

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionDışa Aktarma Argümanları#

ArgümanTipVarsayılanAçıklama
formatstr'ncnn'Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan model için hedef format.
imgszint veya tuple640Model girişi için istenen görüntü boyutu. Kare görüntüler için bir tamsayı veya belirli boyutlar için (height, width) şeklinde bir demet olabilir.
halfboolFalseFP16 (yarı hassasiyet) nicemlemeyi etkinleştirerek model boyutunu küçültür ve desteklenen donanımlarda çıkarımı hızlandırabilir.
batchint1Dışa aktarılan modelin toplu çıkarım boyutunu veya dışa aktarılan modelin predict modunda eşzamanlı olarak işleyeceği maksimum görüntü sayısını belirtir.
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 ayrıntı için dışa aktarma hakkındaki Ultralytics dokümantasyon sayfasına git.

Link to this sectionDışa Aktarılan YOLO26 NCNN Modellerini Dağıtma#

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

  • Android: Android uygulamalarında nesne algılama için NCNN modellerini oluştur ve entegre et.

  • macOS: NCNN modellerini macOS sistemlerinde dağıt.

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

  • Windows x64: Visual Studio kullanarak Windows x64 üzerinde NCNN modellerini dağıt.

Link to this sectionÖzet#

Bu rehber, kaynak kısıtlı cihazlarda daha fazla verimlilik ve hız için Ultralytics YOLO26 modellerinin NCNN formatına nasıl aktarılacağını ele aldı.

Daha fazla detay için resmi NCNN belgelerine başvur. Diğer dışa aktarma seçenekleri için entegrasyon rehberi sayfamızı ziyaret et.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26 modellerini NCNN formatına nasıl aktarırım?#

Ultralytics YOLO26 modelini NCNN formatına aktarmak için:

  • Python: YOLO sınıfından export metodunu kullan.

    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export to NCNN format
    model.export(format="ncnn")  # creates '/yolo26n_ncnn_model'
  • CLI: yolo export komutunu kullan.

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

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

Link to this sectionYOLO26 modellerini NCNN'ye aktarmanın avantajları nelerdir?#

Ultralytics YOLO26 modellerini NCNN'ye aktarmak birkaç fayda sunar:

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

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

Link to this sectionMobil 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.
  • Platformlar Arası: TensorFlow ve ONNX gibi popüler çerçevelerle uyumludur, bu da modelleri dönüştürmeyi ve farklı platformlarda dağıtmayı 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.

Link to this sectionNCNN 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 Rehberimizde ayrıntılı olarak açıklandığı üzere NCNN formatını kullanmayı düşün.

Link to this sectionAndroid üzerinde Ultralytics YOLO26 NCNN modellerini nasıl dağıtabilirim?#

YOLO26 modellerini Android üzerinde dağıtmak için:

  1. Android İçin Oluştur: NCNN Android İçin Derleme rehberini takip et.
  2. Uygulamanla Entegre Et: Cihaz üzerinde verimli çıkarım için dışa aktarılan modeli uygulamana entegre etmek üzere NCNN Android SDK'sını kullan.

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

Daha gelişmiş rehberler ve kullanım durumları için Ultralytics dağıtım rehberini ziyaret et.

Link to this sectionNCNN modelleri ile Vulkan GPU hızlandırmasını nasıl kullanırım?#

NCNN, AMD, Intel ve diğer NVIDIA dışı 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 belirt (örneğin ikinci GPU için vulkan:1). GPU'n için Vulkan sürücülerinin yüklü olduğundan emin ol. Daha fazla detay için Vulkan GPU Hızlandırma bölümüne bak.

Yorumlar