YOLO11 Modelleri için CoreML Dışa Aktarımı
Bilgisayarla görme modellerini iPhone ve Mac gibi Apple cihazlarında dağıtmak, sorunsuz performans sağlayan bir format gerektirir.
CoreML dışa aktarma formatı, Ultralytics YOLO11 modellerinizi iOS ve macOS uygulamalarında verimli nesne algılama için optimize etmenizi sağlar. Bu kılavuzda, modellerinizi CoreML formatına dönüştürme adımlarında size yol göstereceğiz ve modellerinizin Apple cihazlarında iyi performans göstermesini kolaylaştıracağız.
CoreML
CoreML, Accelerate, BNNS ve Metal Performance Shaders üzerine inşa edilmiş Apple'ın temel makine öğrenimi çerçevesidir. iOS uygulamalarına sorunsuz bir şekilde entegre olan ve görüntü analizi, doğal dil işleme, sesten metne dönüştürme ve ses analizi gibi görevleri destekleyen bir makine öğrenimi modeli formatı sağlar.
Uygulamalar, bir ağ bağlantısına veya API çağrılarına ihtiyaç duymadan Core ML'den yararlanabilir, çünkü Core ML çerçevesi cihaz üzerinde bilgi işlem kullanarak çalışır. Bu, model çıkarımının kullanıcının cihazında yerel olarak gerçekleştirilebileceği anlamına gelir.
CoreML Modellerinin Temel Özellikleri
Apple'ın CoreML çerçevesi, cihaz üzerinde makine öğrenimi için güçlü özellikler sunar. İşte CoreML'yi geliştiriciler için güçlü bir araç yapan temel özellikler:
- Kapsamlı Model Desteği: TensorFlow, PyTorch, scikit-learn, XGBoost ve LibSVM gibi popüler framework'lerden modelleri dönüştürür ve çalıştırır.
-
Cihaz Üzerinde Makine Öğrenimi: Modelleri doğrudan kullanıcının cihazında yürüterek, ağ bağlantısına olan ihtiyacı ortadan kaldırarak veri gizliliğini ve hızlı işlemeyi sağlar.
-
Performans ve Optimizasyon: Minimum güç ve bellek kullanımıyla optimum performans için cihazın CPU'sunu, GPU'sunu ve Neural Engine'ini kullanır. Doğruluğu korurken model sıkıştırma ve optimizasyon için araçlar sunar.
-
Entegrasyon Kolaylığı: Çeşitli model türleri için birleşik bir format ve uygulamalara sorunsuz entegrasyon için kullanıcı dostu bir API sağlar. Vision ve Natural Language gibi çerçeveler aracılığıyla alana özgü görevleri destekler.
-
Gelişmiş Özellikler: Kişiselleştirilmiş deneyimler için cihaz üzerinde eğitim yetenekleri, etkileşimli ML deneyimleri için eşzamansız tahminler ve model inceleme ve doğrulama araçları içerir.
CoreML Dağıtım Seçenekleri
YOLO11 modellerini CoreML formatına aktarma koduna bakmadan önce, CoreML modellerinin genellikle nerede kullanıldığını anlayalım.
CoreML, makine öğrenimi modelleri için çeşitli dağıtım seçenekleri sunar:
-
Cihaz Üzerinde Dağıtım: Bu yöntem, CoreML modellerini doğrudan iOS uygulamanıza entegre eder. Düşük gecikme süresi, gelişmiş gizlilik (çünkü veriler cihazda kalır) ve çevrimdışı işlevsellik sağlamak için özellikle avantajlıdır. Ancak bu yaklaşım, özellikle daha büyük ve daha karmaşık modeller için cihazın donanım yetenekleriyle sınırlı olabilir. Cihaz üzerinde dağıtım aşağıdaki iki şekilde gerçekleştirilebilir.
-
Gömülü Modeller: Bu modeller uygulama paketine dahildir ve hemen erişilebilir durumdadır. Sık güncelleme gerektirmeyen küçük modeller için idealdir.
-
İndirilen Modeller: Bu modeller, gerektiğinde bir sunucudan alınır. Bu yaklaşım, daha büyük modeller veya düzenli güncellemelere ihtiyaç duyanlar için uygundur. Uygulama paket boyutunu daha küçük tutmaya yardımcı olur.
-
-
Bulut Tabanlı Dağıtım: CoreML modelleri sunucularda barındırılır ve iOS uygulaması tarafından API istekleri aracılığıyla erişilir. Bu ölçeklenebilir ve esnek seçenek, uygulama revizyonlarına gerek kalmadan kolay model güncellemeleri sağlar. Karmaşık modeller veya düzenli güncellemeler gerektiren büyük ölçekli uygulamalar için idealdir. Ancak, bir internet bağlantısı gerektirir ve gecikme ve güvenlik sorunlarına yol açabilir.
YOLO11 Modellerini CoreML'ye Aktarma
YOLO11'i CoreML'e aktarmak, Apple'ın ekosistemi içinde optimize edilmiş, cihaz üzerinde makine öğrenimi performansı sağlar ve verimlilik, güvenlik ve iOS, macOS, watchOS ve tvOS platformlarıyla sorunsuz entegrasyon açısından faydalar sunar.
Kurulum
Gerekli paketi yüklemek için şunu çalıştırın:
Kurulum
# Install the required package for YOLO11
pip install ultralytics
Kurulum süreciyle ilgili ayrıntılı talimatlar ve en iyi uygulamalar için YOLO11 Kurulum kılavuzumuza göz atın. YOLO11 için gerekli paketleri kurarken 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
Kullanım talimatlarına geçmeden önce, Ultralytics tarafından sunulan YOLO11 modelleri yelpazesine göz atmayı unutmayın. Bu, proje gereksinimleriniz için en uygun modeli seçmenize yardımcı olacaktır.
Kullanım
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo11n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo11n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to CoreML format
yolo export model=yolo11n.pt format=coreml # creates 'yolo11n.mlpackage''
# Run inference with the exported model
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'
Dışa Aktarma Argümanları
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
format |
str |
'coreml' |
Ç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. |
int8 |
bool |
False |
INT8 nicelemesini etkinleştirir, modeli daha da sıkıştırır ve öncelikle uç cihazlar için minimum doğruluk kaybıyla çıkarımı hızlandırır. |
nms |
bool |
False |
Doğru ve verimli algılama sonrası işleme için gerekli olan Non-Maximum Suppression (NMS) ekler. |
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 ). |
İpucu
CoreML'ye aktarırken lütfen bir macOS veya x86 Linux makinesi kullandığınızdan emin olun.
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 CoreML Modellerini Dağıtma
Ultralytics YOLO11 modellerinizi CoreML'e başarıyla aktardıktan sonra, bir sonraki kritik aşama bu modelleri etkili bir şekilde dağıtmaktır. Çeşitli ortamlarda CoreML modellerini dağıtma hakkında ayrıntılı rehberlik için şu kaynaklara göz atın:
-
CoreML Araçları: Bu kılavuz, modelleri TensorFlow, PyTorch ve diğer kütüphanelerden Core ML'e dönüştürmek için talimatlar ve örnekler içerir.
-
ML ve Vision: CoreML modellerini kullanmanın ve uygulamanın çeşitli yönlerini kapsayan kapsamlı videolardan oluşan bir koleksiyon.
-
Bir Core ML Modelini Uygulamanıza Entegre Etme: Bir CoreML modelini bir iOS uygulamasına entegre etme konusunda kapsamlı bir kılavuz; modelin hazırlanmasından, çeşitli işlevler için uygulamada uygulanmasına kadar olan adımları detaylandırır.
Özet
Bu kılavuzda, Ultralytics YOLO11 modellerinin CoreML formatına nasıl aktarılacağını ele aldık. Bu kılavuzda özetlenen adımları izleyerek, YOLO11 modellerini CoreML'ye aktarırken maksimum uyumluluk ve performans sağlayabilirsiniz.
Kullanım hakkında daha fazla bilgi için CoreML resmi dokümantasyonunu ziyaret edin.
Ayrıca, diğer Ultralytics YOLO11 entegrasyonları hakkında daha fazla bilgi edinmek isterseniz, entegrasyon kılavuzu sayfamızı ziyaret edin. Orada bol miktarda değerli kaynak ve bilgi bulacaksınız.
SSS
YOLO11 modellerini CoreML formatına nasıl aktarırım?
Dışa aktarmak için Ultralytics YOLO11 modelleri CoreML biçimine dönüştürmek için öncelikle şunlara sahip olduğunuzdan emin olmanız gerekir: ultralytics
paketi yüklü değil. Şunu kullanarak yükleyebilirsiniz:
Kurulum
pip install ultralytics
Ardından, modeli aşağıdaki Python veya CLI komutlarını kullanarak dışa aktarabilirsiniz:
Kullanım
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml
Daha fazla ayrıntı için, belgelerimizin YOLO11 Modellerini CoreML'ye Aktarma bölümüne bakın.
YOLO11 modellerini dağıtmak için CoreML kullanmanın faydaları nelerdir?
CoreML, Apple cihazlarında Ultralytics YOLO11 modellerini dağıtmak için çok sayıda avantaj sunar:
- Cihaz Üzerinde İşleme: Cihazlarda yerel model çıkarımını etkinleştirerek veri gizliliğini sağlar ve gecikmeyi en aza indirir.
- Performans Optimizasyonu: Cihazın CPU, GPU ve Neural Engine'inin tüm potansiyelinden yararlanarak hem hızı hem de verimliliği optimize eder.
- Entegrasyon Kolaylığı: iOS, macOS, watchOS ve tvOS dahil olmak üzere Apple'ın ekosistemleriyle sorunsuz bir entegrasyon deneyimi sunar.
- Çok Yönlülük: CoreML çerçevesini kullanarak görüntü analizi, ses işleme ve doğal dil işleme gibi çok çeşitli makine öğrenimi görevlerini destekler.
CoreML modelinizi bir iOS uygulamasına entegre etme hakkında daha fazla bilgi için, Bir Core ML Modelini Uygulamanıza Entegre Etme kılavuzuna göz atın.
CoreML'e aktarılan YOLO11 modelleri için dağıtım seçenekleri nelerdir?
YOLO11 modelinizi CoreML formatına aktardıktan sonra, birden fazla dağıtım seçeneğiniz vardır:
-
Cihaz Üzerinde Dağıtım: Gelişmiş gizlilik ve çevrimdışı işlevsellik için CoreML modellerini doğrudan uygulamanıza entegre edin. Bu şu şekilde yapılabilir:
- Gömülü Modeller: Uygulama paketine dahildir, hemen erişilebilir.
- İndirilen Modeller: Uygulama paket boyutunu daha küçük tutarak gerektiğinde bir sunucudan alınır.
-
Bulut Tabanlı Dağıtım: CoreML modellerini sunucularda barındırın ve bunlara API istekleri yoluyla erişin. Bu yaklaşım, daha kolay güncellemeleri destekler ve daha karmaşık modelleri işleyebilir.
CoreML modellerini dağıtma konusunda ayrıntılı rehberlik için CoreML Dağıtım Seçenekleri'ne bakın.
CoreML, YOLO11 modelleri için nasıl optimize edilmiş performans sağlar?
CoreML, çeşitli optimizasyon teknikleri kullanarak Ultralytics YOLO11 modelleri için optimize edilmiş performans sağlar:
- Donanım Hızlandırma: Verimli hesaplama için cihazın CPU'sunu, GPU'sunu ve Neural Engine'ini kullanır.
- Model Sıkıştırma: Doğruluktan ödün vermeden modellerin ayak izini azaltmak için sıkıştırma araçları sağlar.
- Uyarlanabilir Çıkarım: Hız ve performans arasında bir denge sağlamak için çıkarımı cihazın yeteneklerine göre ayarlar.
Performans optimizasyonu hakkında daha fazla bilgi için CoreML resmi belgelerini ziyaret edin.
Dışa aktarılan CoreML modeliyle doğrudan çıkarım çalıştırabilir miyim?
Evet, dışa aktarılan CoreML modelini kullanarak doğrudan çıkarım çalıştırabilirsiniz. Aşağıda python ve CLI için komutlar bulunmaktadır:
Çıkarım Çalıştırma
from ultralytics import YOLO
coreml_model = YOLO("yolo11n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolo11n.mlpackage source='https://ultralytics.com/images/bus.jpg'
Ek bilgi için, CoreML dışa aktarma kılavuzunun Kullanım bölümüne bakın.