Sorunsuz Dağıtım için YOLO11'den NCNN'ye Nasıl Aktarılır?
Bilgisayarla görme modellerini, mobil veya gömülü sistemler gibi sınırlı işlem gücüne sahip cihazlarda dağıtmak zor olabilir. Optimum performans için optimize edilmiş bir format kullandığınızdan emin olmanız gerekir. Bu, sınırlı işlem gücüne sahip cihazların bile gelişmiş bilgisayarla görme görevlerini iyi bir şekilde yerine getirmesini sağlar.
Ultralytics YOLO11 modellerinizi hafif cihaz tabanlı uygulamalar için optimize etmenizi sağlayan NCNN formatına aktarma özelliği. Bu kılavuzda, modellerinizi NCNN formatına nasıl dönüştüreceğinizi anlatacağız, böylece modellerinizin çeşitli mobil ve gömülü cihazlarda iyi performans göstermesi kolaylaşacaktır.
Neden NCNN'ye aktarmalısınız?
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'larda hızlı işlem hızıyla bilinir ve derin öğrenme modellerinin mobil platformlara hızla dağıtılmasını sağlar. Bu, akıllı uygulamalar oluşturmayı kolaylaştırır ve yapay zekanın gücünü parmaklarınızın ucuna getirir.
NCNN Modellerinin Temel Özellikleri
NCNN modelleri, geliştiricilerin modellerini mobil, gömülü ve uç cihazlarda çalıştırmalarına yardımcı olarak cihaz üzerinde makine öğrenimi sağlayan çok çeşitli temel özellikler sunar:
-
Verimli ve Yüksek Performanslı: NCNN modelleri, sınırlı kaynaklara sahip Raspberry Pi gibi mobil ve gömülü cihazlarda çalışacak şekilde optimize edilmiş, verimli ve hafif olacak şekilde üretilmiştir. Ayrıca, çeşitli bilgisayar görüşü tabanlı görevlerde yüksek doğrulukla yüksek performans elde edebilirler.
-
Kuvantizasyon: NCNN modelleri genellikle modelin ağırlıklarının ve aktivasyonlarının kesinliğini azaltan bir teknik olan kuvantizasyonu destekler. Bu, performansta daha da iyileşmelere yol açar ve bellek ayak izini azaltır.
-
Uyumluluk: NCNN modelleri, TensorFlow, Caffe ve ONNX gibi popüler derin öğrenme çerçeveleriyle uyumludur. Bu uyumluluk, geliştiricilerin mevcut modelleri ve iş akışlarını kolayca kullanmalarına olanak tanır.
-
Kullanım Kolaylığı: NCNN modelleri, popüler derin öğrenme çerçeveleriyle uyumlulukları sayesinde çeşitli uygulamalara kolay entegrasyon için tasarlanmıştır. Ek olarak, NCNN, modelleri farklı formatlar arasında dönüştürmek için kullanıcı dostu araçlar sunarak geliştirme ortamında sorunsuz birlikte çalışabilirlik sağlar.
NCNN ile Dağıtım Seçenekleri
YOLO11 modellerini NCNN formatına aktarma koduna bakmadan önce, NCNN modellerinin normalde nasıl kullanıldığını anlayalım.
Verimlilik ve performans için tasarlanan NCNN modelleri, çeşitli dağıtım platformlarıyla uyumludur:
-
Mobil Dağıtım: Özellikle Android ve iOS için optimize edilmiştir ve verimli cihaz üzerinde çıkarım için mobil uygulamalara sorunsuz entegrasyon sağlar.
-
Gömülü Sistemler ve IoT Cihazları: Ultralytics Kılavuzu ile bir Raspberry Pi üzerinde çıkarım çalıştırmanın yeterince hızlı olmadığını fark ederseniz, bir NCNN dışa aktarılmış modele geçmek işleri hızlandırmaya yardımcı olabilir. NCNN, özellikle doğrudan cihaz üzerinde hızlı işlemeye ihtiyaç duyduğunuz durumlarda Raspberry Pi ve NVIDIA Jetson gibi cihazlar için harikadır.
-
Masaüstü ve Sunucu Dağıtımı: Linux, Windows ve macOS genelinde masaüstü ve sunucu ortamlarında dağıtılabilir, daha yüksek işlem kapasiteleriyle geliştirme, eğitim ve değerlendirmeyi destekler.
NCNN'ye Aktarma: YOLO11 Modelinizi Dönüştürme
YOLO11 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 YOLO11
pip install ultralytics
Yükleme süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için Ultralytics Kurulum kılavuzumuza bakın. YOLO11 için gerekli paketleri yüklerken herhangi bir zorlukla karşılaşırsanız, çözümler ve ipuçları için Sık Karşılaşılan Sorunlar kılavuzumuza başvurun.
Kullanım
Tüm Ultralytics YOLO11 modelleri, kutudan çıkar çıkmaz dışa aktarmayı destekleyecek şekilde tasarlanmıştır ve 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 biçimlerinin ve yapılandırma seçeneklerinin tam listesini görüntüleyebilirsiniz.
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo11n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to NCNN format
yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo11n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
Dışa Aktarma Argümanları
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
format |
str |
'ncnn' |
Çeşitli dağıtım ortamlarıyla uyumluluğu tanımlayan, dışa aktarılan modelin hedef formatı. |
imgsz |
int veya tuple |
640 |
Model 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. |
half |
bool |
False |
FP16 (yarı duyarlıklı) nicelemeyi etkinleştirir, model boyutunu küçültür ve desteklenen donanımda çıkarımı potansiyel olarak hızlandırır. |
batch |
int |
1 |
Dış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. |
device |
str |
None |
Dış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.
Dışa Aktarılmış YOLO11 NCNN Modellerini Dağıtma
Ultralytics YOLO11 modellerinizi NCNN formatına başarıyla aktardıktan sonra, artık bunları dağıtabilirsiniz. Bir NCNN modelini çalıştırmak için birincil ve önerilen ilk adım, önceki kullanım kodu parçasında belirtildiği gibi YOLO("yolo11n_ncnn_model/") yöntemini kullanmaktır. Bununla birlikte, NCNN modellerinizi çeşitli diğer ayarlarda dağıtma hakkında ayrıntılı talimatlar için aşağıdaki kaynaklara göz atın:
-
Android: Bu blog, Android uygulamaları aracılığıyla nesne algılama gibi görevleri gerçekleştirmek için NCNN modellerinin nasıl kullanılacağını açıklamaktadır.
-
macOS: macOS aracılığıyla görevleri gerçekleştirmek için NCNN modellerinin nasıl kullanılacağını anlayın.
-
Linux: Raspberry Pi ve benzeri diğer cihazlar gibi sınırlı kaynaklı cihazlarda NCNN modellerini nasıl dağıtabileceğinizi öğrenmek için bu sayfayı inceleyin.
-
VS2017 kullanarak Windows x64: NCNN modellerini Visual Studio Community 2017 kullanarak windows x64'e nasıl dağıtacağınızı öğrenmek için bu blogu keşfedin.
Özet
Bu kılavuzda, Ultralytics YOLO11 modellerini NCNN formatına aktarmayı ele aldık. Bu dönüştürme adımı, YOLO11 modellerinin verimliliğini ve hızını artırmak, onları sınırlı kaynaklı bilgi işlem ortamları için daha etkili ve uygun hale getirmek için çok önemlidir.
Kullanım hakkında ayrıntılı talimatlar için lütfen resmi NCNN belgelerine bakın.
Ayrıca, Ultralytics YOLO11 için diğer entegrasyon seçeneklerini keşfetmekle ilgileniyorsanız, daha fazla bilgi ve içgörü için entegrasyon kılavuzu sayfamızı ziyaret ettiğinizden emin olun.
SSS
Ultralytics YOLO11 modellerini NCNN formatına nasıl aktarırım?
Ultralytics YOLO11 modelinizi NCNN formatına aktarmak için şu adımları izleyin:
-
Python: Şunu kullanın:
export
YOLO sınıfından fonksiyon.from ultralytics import YOLO # Load the YOLO11 model model = YOLO("yolo11n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo11n_ncnn_model'
-
CLI: Şunu kullanın:
yolo
komutu ileexport
argüman.yolo export model=yolo11n.pt format=ncnn # creates '/yolo11n_ncnn_model'
Ayrıntılı dışa aktarma seçenekleri için, belgelerdeki Dışa Aktarma sayfasına bakın.
YOLO11 modellerini NCNN'ye aktarmanın avantajları nelerdir?
Ultralytics YOLO11 modellerinizi NCNN'ye 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.
Daha fazla ayrıntı için, belgelerdeki NCNN'ye Aktarma 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 edinmek için dokümantasyondaki NCNN genel bakışını ziyaret edin.
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.
Modelleri bir Raspberry Pi üzerinde çalıştırmak yeterince hızlı değilse, Raspberry Pi Kılavuzumuzda ayrıntılı olarak açıklandığı gibi NCNN formatına dönüştürmek hızı artırabilir.
Ultralytics YOLO11 NCNN modellerini Android'de nasıl dağıtabilirim?
YOLO11 modellerinizi Android'e dağıtmak için:
- Android için Derleme: NCNN Android için Derleme kılavuzunu takip edin.
- 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.
Adım adım talimatlar için YOLO11 NCNN Modellerini Dağıtma kılavuzumuza bakın.
Daha gelişmiş kılavuzlar ve kullanım örnekleri için Ultralytics dokümantasyon sayfasını ziyaret edin.