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 دون الحاجة إلى اتصال شبكة أو استدعاءات API لأن إطار عمل Core ML يعمل باستخدام الحوسبة على الجهاز. هذا يعني أنه يمكن إجراء استدلال النموذج محليا على جهاز المستخدم.
الميزات الرئيسية ل CoreML نماذج
أبل CoreML يوفر Framework ميزات قوية للتعلم الآلي على الجهاز. فيما يلي الميزات الرئيسية التي تجعل CoreML أداة قوية للمطورين:
- 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.
-
سهولة التكامل: يوفر تنسيقا موحدا لأنواع النماذج المختلفة وواجهة برمجة تطبيقات سهلة الاستخدام للتكامل السلس في التطبيقات. يدعم المهام الخاصة بالمجال من خلال أطر عمل مثل الرؤية واللغة الطبيعية.
-
الميزات المتقدمة: يتضمن إمكانات التدريب على الجهاز للتجارب المخصصة والتنبؤات غير المتزامنة لتجارب ML التفاعلية وأدوات فحص النموذج والتحقق من صحته.
CoreML خيارات النشر
Before we look at the code for exporting YOLO11 models to the CoreML format, let's understand where CoreML models are usually used.
CoreML يقدم خيارات نشر متنوعة لنماذج التعلم الآلي، بما في ذلك:
-
النشر على الجهاز: تدمج هذه الطريقة مباشرةً نماذج CoreML في تطبيقك iOS . وهي مفيدة بشكل خاص لضمان زمن استجابة منخفض، وخصوصية محسّنة (لأن البيانات تبقى على الجهاز)، ووظيفة عدم الاتصال بالإنترنت. ومع ذلك، قد تكون هذه الطريقة محدودة بسبب قدرات أجهزة الجهاز، خاصة بالنسبة للنماذج الأكبر والأكثر تعقيدًا. يمكن تنفيذ النشر على الجهاز بالطريقتين التاليتين.
-
النماذج المضمنة: يتم تضمين هذه الطرز في حزمة التطبيق ويمكن الوصول إليها على الفور. إنها مثالية للطرز الصغيرة التي لا تتطلب تحديثات متكررة.
-
النماذج التي تم تنزيلها: يتم جلب هذه النماذج من الخادم حسب الحاجة. هذا النهج مناسب للطرز الأكبر حجما أو تلك التي تحتاج إلى تحديثات منتظمة. يساعد في الحفاظ على حجم حزمة التطبيق أصغر.
-
-
النشر المستند إلى السحابة: تتم استضافة نماذج CoreML على الخوادم ويتم الوصول إليها بواسطة تطبيق iOS من خلال طلبات واجهة برمجة التطبيقات. يتيح هذا الخيار المرن والقابل للتطوير تحديثات سهلة للنماذج دون مراجعة التطبيق. وهو مثالي للنماذج المعقدة أو التطبيقات واسعة النطاق التي تتطلب تحديثات منتظمة. ومع ذلك، فإنه يتطلب اتصالاً بالإنترنت وقد يطرح مشاكل في زمن الاستجابة والأمان.
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.
تركيب
لتثبيت الحزمة المطلوبة ، قم بتشغيل:
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.
استخدام
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.
استخدام
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")
لمزيد من التفاصيل حول عملية التصدير ، قم بزيارة Ultralytics صفحة التوثيق الخاصة بالتصدير.
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.
-
التعلم الآلي والرؤية: مجموعة من مقاطع الفيديو الشاملة التي تغطي جوانب مختلفة من الاستخدام والتنفيذ CoreML نماذج.
-
دمج نموذج التعلم الآلي الأساسي في تطبيقك: دليل شامل لدمج نموذج CoreML في تطبيق iOS ، يشرح بالتفصيل الخطوات بدءًا من إعداد النموذج إلى تنفيذه في التطبيق لمختلف الوظائف.
ملخص
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.
لمزيد من التفاصيل حول الاستخدام ، قم بزيارة CoreML الوثائق الرسمية.
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.
الأسئلة المتداولة
How do I export YOLO11 models to CoreML format?
لتصدير Ultralytics YOLO11 الموديلات إلى تنسيق CoreML ، ستحتاج أولاً إلى التأكد من أن لديك ultralytics
الحزمة المثبتة. يمكنك تثبيتها باستخدام:
بعد ذلك، يمكنك تصدير النموذج باستخدام الأوامر التالية Python أو CLI :
استخدام
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.
- تحسين الأداء: يستفيد من الإمكانات الكاملة للجهاز CPU و GPU والمحرك العصبي للجهاز، مما يحسّن كلاً من السرعة والكفاءة.
- سهولة التكامل: يوفر تجربة تكامل سلسة مع أنظمة Apple البيئية، بما في ذلك iOS و macOS و watchOS و tvOS.
- تعدد الاستخدامات: يدعم مجموعة واسعة من مهام التعلم الآلي مثل تحليل الصور ومعالجة الصوت ومعالجة اللغة الطبيعية باستخدام إطار عمل CoreML .
لمزيد من التفاصيل حول دمج نموذج CoreML الخاص بك في تطبيق iOS ، راجع الدليل الخاص بدمج نموذج أساسي لتعلم الآلة في تطبيقك.
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:
-
النشر على الجهاز: قم بدمج نماذج CoreML مباشرةً في تطبيقك لتحسين الخصوصية والوظائف دون اتصال بالإنترنت. يمكن القيام بذلك على النحو التالي:
- النماذج المضمنة: مضمنة في حزمة التطبيق، ويمكن الوصول إليها على الفور.
- النماذج التي تم تنزيلها: يتم جلبها من الخادم حسب الحاجة، مما يجعل حجم حزمة التطبيق أصغر.
-
النشر المستند إلى السحابة: استضافة نماذج CoreML على الخوادم والوصول إليها عبر طلبات واجهة برمجة التطبيقات. يدعم هذا النهج تحديثات أسهل ويمكنه التعامل مع نماذج أكثر تعقيداً.
للحصول على إرشادات مفصلة حول نشر ا لنماذج CoreML ، راجعCoreML خيارات النشر.
How does CoreML ensure optimized performance for YOLO11 models?
CoreML ensures optimized performance for Ultralytics YOLO11 models by utilizing various optimization techniques:
- تسريع الأجهزة: يستخدم محرك الجهاز CPU و GPU و المحرك العصبي الخاص بالجهاز لإجراء عمليات حسابية فعالة.
- ضغط النماذج: يوفر أدوات لضغط النماذج لتقليل حجمها دون المساس بالدقة.
- الاستدلال التكيفي: يضبط الاستدلال بناءً على قدرات الجهاز للحفاظ على التوازن بين السرعة والأداء.
لمزيد من المعلومات حول تحسين الأداء، قم بزيارة الوثائق الرسميةCoreML .
هل يمكنني تشغيل الاستدلال مباشرةً باستخدام نموذج CoreML المُصدَّر؟
نعم، يمكنك تشغيل الاستدلال مباشرةً باستخدام نموذج CoreML الذي تم تصديره. فيما يلي أوامر Python و CLI:
تشغيل الاستدلال
للحصول على معلومات إضافية، راجع قسم الاستخدام في دليل التصدير CoreML .