CoreML Export for YOLO11 Models
Deploying computer vision models on Apple devices like iPhones and Macs requires a format that ensures seamless performance.
The CoreML export format allows you to optimize your Ultralytics YOLO11 models for efficient object detection in iOS and macOS applications. In this guide, we'll walk you through the steps for converting your models to the CoreML format, making it easier for your models to perform well on Apple devices.
CoreML
CoreML is Apple's foundational machine learning framework that builds upon Accelerate, BNNS, and Metal Performance Shaders. It provides a machine-learning model format that seamlessly integrates into iOS applications and supports tasks such as image analysis, natural language processing, audio-to-text conversion, and sound analysis.
Core ML çerçevesi cihaz üzerinde bilgi işlem kullanarak çalıştığı için uygulamalar ağ bağlantısına veya API çağrılarına ihtiyaç duymadan Core ML'den faydalanabilir. 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 sunuyor. İşte CoreML 'u geliştiriciler için güçlü bir araç haline getiren temel özellikler:
- Comprehensive Model Support: Converts and runs models from popular frameworks like TensorFlow, PyTorch, scikit-learn, XGBoost, and LibSVM.
-
On-device Machine Learning: Ensures data privacy and swift processing by executing models directly on the user's device, eliminating the need for network connectivity.
-
Performance and Optimization: Uses the device's CPU, GPU, and Neural Engine for optimal performance with minimal power and memory usage. Offers tools for model compression and optimization while maintaining accuracy.
-
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. Görme ve Doğal Dil 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 makine öğrenimi deneyimleri için eşzamansız tahminler ve model inceleme ve doğrulama araçları içerir.
CoreML Dağıtım Seçenekleri
Before we look at the code for exporting YOLO11 models to the CoreML format, let's understand where CoreML models are usually used.
CoreML dahil olmak üzere 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 (veriler cihazda kaldığı için) 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 özellikleriyle 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 dahil edilir ve hemen erişilebilir. 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 paketi boyutunun daha küçük tutulmasına yardımcı olur.
-
-
Bulut Tabanlı Dağıtım: CoreML modelleri sunucularda barındırılır ve API istekleri aracılığıyla iOS uygulaması tarafından erişilir. Bu ölçeklenebilir ve esnek seçenek, uygulama revizyonları olmadan kolay model güncellemeleri sağlar. Düzenli güncelleme gerektiren karmaşık modeller veya büyük ölçekli uygulamalar için idealdir. Ancak, internet bağlantısı gerektirir ve gecikme ve güvenlik sorunları oluşturabilir.
Exporting YOLO11 Models to CoreML
Exporting YOLO11 to CoreML enables optimized, on-device machine learning performance within Apple's ecosystem, offering benefits in terms of efficiency, security, and seamless integration with iOS, macOS, watchOS, and tvOS platforms.
Kurulum
Gerekli paketi yüklemek için çalıştırın:
For detailed instructions and best practices related to the installation process, check our YOLO11 Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.
Kullanım
Before diving into the usage instructions, be sure to check out the range of YOLO11 models offered by Ultralytics. This will help you choose the most appropriate model for your project requirements.
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")
Dışa aktarma işlemi hakkında daha fazla bilgi için, dışa aktarma ile ilgiliUltralytics dokümantasyon sayfasını ziyaret edin.
Deploying Exported YOLO11 CoreML Models
Having successfully exported your Ultralytics YOLO11 models to CoreML, the next critical phase is deploying these models effectively. For detailed guidance on deploying CoreML models in various environments, check out these resources:
-
CoreML Tools: This guide includes instructions and examples to convert models from TensorFlow, PyTorch, and other libraries to Core ML.
-
Makine Öğrenimi ve Vizyon: CoreML modellerini kullanmanın ve uygulamanın çeşitli yönlerini kapsayan kapsamlı bir video koleksiyonu.
-
Uygulamanıza Temel Makine Öğrenimi Modeli Entegre Etme: Bir CoreML modelinin bir iOS uygulamasına entegre edilmesine ilişkin, modelin hazırlanmasından çeşitli işlevler için uygulamada uygulanmasına kadar adımları detaylandıran kapsamlı bir kılavuz.
Özet
In this guide, we went over how to export Ultralytics YOLO11 models to CoreML format. By following the steps outlined in this guide, you can ensure maximum compatibility and performance when exporting YOLO11 models to CoreML.
Kullanım hakkında daha fazla bilgi için CoreML resmi belgelerini ziyaret edin.
Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.
SSS
How do I export YOLO11 models to CoreML format?
Dışa aktarmak için Ultralytics YOLO11 modellerini CoreML biçimine dönüştürmek için, öncelikle aşağıdaki özelliklere sahip olduğunuzdan emin olmanız gerekir ultralytics
paketi yüklü. Kullanarak yükleyebilirsiniz:
Daha sonra, aşağıdaki Python veya CLI komutlarını kullanarak modeli dışa aktarabilirsiniz:
Kullanım
For further details, refer to the Exporting YOLO11 Models to CoreML section of our documentation.
What are the benefits of using CoreML for deploying YOLO11 models?
CoreML provides numerous advantages for deploying Ultralytics YOLO11 models on Apple devices:
- On-device Processing: Enables local model inference on devices, ensuring data privacy and minimizing latency.
- 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 Temel Makine Öğrenimi Modelini Uygulamanıza Entegre Etme kılavuzuna göz atın.
What are the deployment options for YOLO11 models exported to CoreML?
Once you export your YOLO11 model to CoreML format, you have multiple deployment options:
-
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: Gerektiğinde bir sunucudan alınır ve uygulama paketinin boyutunu daha küçük tutar.
-
Bulut Tabanlı Dağıtım: CoreML modellerini sunucularda barındırın ve bunlara API istekleri aracılığıyla erişin. Bu yaklaşım daha kolay güncellemeleri destekler ve daha karmaşık modellerin üstesinden gelebilir.
CoreML modellerinin dağıtımı hakkında ayrıntılı bilgi için CoreML Dağıtım Seçenekleri bölümüne bakın.
How does CoreML ensure optimized performance for YOLO11 models?
CoreML ensures optimized performance for Ultralytics YOLO11 models by utilizing various optimization techniques:
- Donanım Hızlandırma: Verimli hesaplama için cihazın CPU, GPU ve Neural Engine'ini kullanır.
- Model Sıkıştırma: Doğruluktan ödün vermeden ayak izlerini azaltmak için modelleri sıkıştırmaya yönelik araçlar sağlar.
- Uyarlanabilir Çıkarım: Hız ve performans arasında bir denge sağlamak için cihazın yeteneklerine göre çıkarımı ayarlar.
Performans optimizasyonu hakkında daha fazla bilgi için CoreML resmi belgelerini ziyaret edin.
Dışa aktarılan CoreML modeli ile doğrudan çıkarım yapabilir miyim?
Evet, dışa aktarılan CoreML modelini kullanarak doğrudan çıkarım yapabilirsiniz. Aşağıda Python ve CLI için komutlar verilmiştir:
Çalışan Çıkarım
Daha fazla bilgi için CoreML ihracat kılavuzunun Kullanım bölümüne bakın.