تصدير CoreML لنماذج YOLO26
يتطلب نشر نماذج الرؤية الحاسوبية على أجهزة Apple مثل iPhones وMac تنسيقاً يضمن أداءً سلساً.
Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀
يسمح لك تنسيق تصدير CoreML بتحسين نماذج Ultralytics YOLO26 الخاصة بك من أجل اكتشاف الكائنات بكفاءة في تطبيقات iOS وmacOS. في هذا الدليل، سنرشدك خلال خطوات تحويل نماذجك إلى تنسيق CoreML، مما يسهل على نماذجك العمل بشكل جيد على أجهزة Apple.
CoreML
CoreML هو إطار عمل التعلم الآلي الأساسي من Apple والذي يعتمد على Accelerate وBNNS وMetal Performance Shaders. وهو يوفر تنسيقاً لنماذج التعلم الآلي يندمج بسلاسة في تطبيقات iOS ويدعم مهام مثل تحليل الصور، ومعالجة اللغات الطبيعية، وتحويل الصوت إلى نص، وتحليل الصوت.
يمكن للتطبيقات الاستفادة من Core ML دون الحاجة إلى اتصال بالشبكة أو إجراء استدعاءات API لأن إطار عمل Core ML يعمل باستخدام الحوسبة على الجهاز. وهذا يعني أنه يمكن تنفيذ استنتاج النموذج محلياً على جهاز المستخدم.
الميزات الرئيسية لنماذج CoreML
يوفر إطار عمل CoreML من Apple ميزات قوية للتعلم الآلي على الجهاز. فيما يلي الميزات الرئيسية التي تجعل CoreML أداة قوية للمطورين:
- دعم شامل للنماذج: تحويل وتشغيل النماذج من أطر عمل شائعة مثل TensorFlow وPyTorch وscikit-learn وXGBoost وLibSVM.
-
التعلم الآلي على الجهاز: يضمن خصوصية البيانات والمعالجة السريعة عن طريق تنفيذ النماذج مباشرة على جهاز المستخدم، مما يلغي الحاجة إلى الاتصال بالشبكة.
-
الأداء والتحسين: يستخدم وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والمحرك العصبي (Neural Engine) بالجهاز للحصول على أداء أمثل بأقل قدر من استهلاك الطاقة والذاكرة. ويوفر أدوات لضغط النماذج وتحسينها مع الحفاظ على الدقة.
-
سهولة التكامل: يوفر تنسيقاً موحداً لأنواع مختلفة من النماذج وAPI سهل الاستخدام للتكامل السلس في التطبيقات. ويدعم المهام الخاصة بالمجال من خلال أطر عمل مثل Vision وNatural Language.
-
ميزات متقدمة: يتضمن إمكانيات تدريب على الجهاز لتجارب مخصصة، وتنبؤات غير متزامنة لتجارب تعلم آلي تفاعلية، وأدوات لفحص النماذج والتحقق من صحتها.
خيارات نشر CoreML
قبل أن نطلع على الكود الخاص بتصدير نماذج YOLO26 إلى تنسيق CoreML، دعنا نفهم أين تُستخدم نماذج CoreML عادةً.
يوفر CoreML خيارات نشر متنوعة لنماذج التعلم الآلي، بما في ذلك:
-
النشر على الجهاز: تدمج هذه الطريقة نماذج CoreML مباشرة في تطبيق iOS الخاص بك. إنها مفيدة بشكل خاص لضمان زمن انتقال منخفض، وتعزيز الخصوصية (نظراً لأن البيانات تظل على الجهاز)، والعمل دون اتصال بالإنترنت. ومع ذلك، قد يكون هذا النهج محدوداً بقدرات أجهزة الجهاز، خاصة بالنسبة للنماذج الأكبر والأكثر تعقيداً، ويمكن تنفيذه بالطريقتين التاليتين:
-
النماذج المضمنة: يتم تضمين هذه النماذج في حزمة التطبيق ويمكن الوصول إليها فوراً. وهي مثالية للنماذج الصغيرة التي لا تتطلب تحديثات متكررة.
-
النماذج التي يتم تنزيلها: يتم جلب هذه النماذج من خادم حسب الحاجة. هذا النهج مناسب للنماذج الأكبر أو تلك التي تحتاج إلى تحديثات منتظمة. ويساعد في الحفاظ على حجم حزمة التطبيق أصغر.
-
-
النشر القائم على السحابة: يتم استضافة نماذج CoreML على خوادم والوصول إليها بواسطة تطبيق iOS من خلال طلبات API. هذا الخيار القابل للتطوير والمرن يتيح تحديثات سهلة للنموذج دون مراجعات التطبيق. إنه مثالي للنماذج المعقدة أو التطبيقات واسعة النطاق التي تتطلب تحديثات منتظمة. ومع ذلك، فإنه يتطلب اتصالاً بالإنترنت وقد يطرح مشكلات تتعلق بزمن الانتقال والأمان.
تصدير نماذج YOLO26 إلى CoreML
يتيح تصدير YOLO26 إلى CoreML أداء تعلم آلي محسناً على الجهاز ضمن نظام Apple البيئي، مما يوفر مزايا من حيث الكفاءة والأمان والتكامل السلس مع منصات iOS وmacOS وwatchOS وtvOS.
التثبيت
لتثبيت الحزمة المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت YOLO26. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
قبل الغوص في تعليمات الاستخدام، تأكد من الاطلاع على مجموعة نماذج YOLO26 التي تقدمها Ultralytics. سيساعدك هذا في اختيار النموذج الأنسب لمتطلبات مشروعك.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to CoreML format
model.export(format="coreml") # creates 'yolo26n.mlpackage'
# Load the exported CoreML model
coreml_model = YOLO("yolo26n.mlpackage")
# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")وسائط التصدير
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'coreml' | التنسيق المستهدف للنموذج الذي تم تصديره، مما يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
dynamic | bool | False | يسمح بأحجام إدخال ديناميكية، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة. |
half | bool | False | يُمكّن كمّية FP16 (دقة نصفية)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. |
int8 | bool | False | يُنشط كمّية INT8، مما يزيد من ضغط النموذج وتسريع الاستنتاج بأقل قدر من فقدان الدقة، بشكل أساسي لأجهزة الحافة. |
nms | bool | False | يضيف خاصية كبح غير الحد الأقصى (NMS)، وهو أمر ضروري لمعالجة الاكتشاف بدقة وكفاءة. |
batch | int | 1 | يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
device | str | None | يحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، MPS لمعالجات Apple silicon (device=mps). |
يرجى التأكد من استخدام جهاز macOS أو x86 Linux عند التصدير إلى CoreML.
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 المصدرة إلى CoreML
بعد تصدير نماذج Ultralytics YOLO26 بنجاح إلى CoreML، فإن المرحلة الحاسمة التالية هي نشر هذه النماذج بفعالية. للحصول على إرشادات مفصلة حول نشر نماذج CoreML في بيئات مختلفة، تحقق من هذه الموارد:
-
CoreML Tools: يتضمن هذا الدليل تعليمات وأمثلة لتحويل النماذج من TensorFlow وPyTorch ومكتبات أخرى إلى Core ML.
-
ML and Vision: مجموعة من الفيديوهات الشاملة التي تغطي جوانب مختلفة من استخدام وتنفيذ نماذج CoreML.
-
تكامل نموذج Core ML في تطبيقك: دليل شامل حول دمج نموذج CoreML في تطبيق iOS، يوضح الخطوات بدءاً من إعداد النموذج وحتى تنفيذه في التطبيق لوظائف متنوعة.
ملخص
في هذا الدليل، تناولنا كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق CoreML. من خلال اتباع الخطوات الموضحة في هذا الدليل، يمكنك ضمان أقصى توافق وأداء عند تصدير نماذج YOLO26 إلى CoreML.
لمزيد من التفاصيل حول الاستخدام، قم بزيارة وثائق CoreML الرسمية.
أيضاً، إذا كنت ترغب في معرفة المزيد عن تكاملات Ultralytics YOLO26 الأخرى، فقم بزيارة صفحة دليل التكامل. ستجد الكثير من الموارد والرؤى القيمة هناك.
الأسئلة الشائعة
كيف أقوم بتصدير نماذج YOLO26 إلى تنسيق CoreML؟
لتصدير نماذج Ultralytics YOLO26 الخاصة بك إلى تنسيق CoreML، ستحتاج أولاً إلى التأكد من تثبيت حزمة ultralytics. يمكنك تثبيتها باستخدام:
pip install ultralyticsبعد ذلك، يمكنك تصدير النموذج باستخدام أوامر Python أو CLI التالية:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="coreml")لمزيد من التفاصيل، راجع قسم تصدير نماذج YOLO26 إلى CoreML في وثائقنا.
ما هي فوائد استخدام CoreML لنشر نماذج YOLO26؟
يوفر CoreML مزايا عديدة لنشر نماذج Ultralytics YOLO26 على أجهزة Apple:
- المعالجة على الجهاز: يتيح استنتاج النموذج محلياً على الأجهزة، مما يضمن خصوصية البيانات ويقلل من زمن الانتقال.
- تحسين الأداء: يستفيد من الإمكانات الكاملة لوحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والمحرك العصبي (Neural Engine) في الجهاز، مما يحسن كلاً من السرعة والكفاءة.
- سهولة التكامل: يوفر تجربة تكامل سلسة مع أنظمة Apple البيئية، بما في ذلك iOS وmacOS وwatchOS وtvOS.
- تعدد الاستخدامات: يدعم مجموعة واسعة من مهام التعلم الآلي مثل تحليل الصور، ومعالجة الصوت، ومعالجة اللغات الطبيعية باستخدام إطار عمل CoreML.
لمزيد من التفاصيل حول دمج نموذج CoreML الخاص بك في تطبيق iOS، تحقق من الدليل حول تكامل نموذج Core ML في تطبيقك.
ما هي خيارات النشر لنماذج YOLO26 المصدرة إلى CoreML؟
بمجرد تصدير نموذج YOLO26 الخاص بك إلى تنسيق CoreML، لديك خيارات نشر متعددة:
-
النشر على الجهاز: دمج نماذج CoreML مباشرة في تطبيقك لتعزيز الخصوصية والعمل دون اتصال بالإنترنت. يمكن القيام بذلك كـ:
- النماذج المضمنة: متضمنة في حزمة التطبيق، يمكن الوصول إليها فوراً.
- النماذج التي يتم تنزيلها: يتم جلبها من خادم حسب الحاجة، مما يجعل حجم حزمة التطبيق أصغر.
-
النشر القائم على السحابة: استضافة نماذج CoreML على خوادم والوصول إليها عبر طلبات API. يدعم هذا النهج تحديثات أسهل ويمكنه التعامل مع نماذج أكثر تعقيداً.
للحصول على إرشادات مفصلة حول نشر نماذج CoreML، راجع خيارات نشر CoreML.
كيف يضمن CoreML أداءً محسناً لنماذج YOLO26؟
يضمن CoreML أداءً محسناً لنماذج Ultralytics YOLO26 باستخدام تقنيات تحسين متنوعة:
- تسريع الأجهزة: يستخدم وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والمحرك العصبي (Neural Engine) في الجهاز لإجراء حسابات فعالة.
- ضغط النموذج: يوفر أدوات لضغط النماذج لتقليل بصمتها دون المساس بالدقة.
- الاستنتاج التكيفي: يضبط الاستنتاج بناءً على قدرات الجهاز للحفاظ على توازن بين السرعة والأداء.
لمزيد من المعلومات حول تحسين الأداء، قم بزيارة وثائق CoreML الرسمية.
هل يمكنني تشغيل الاستنتاج مباشرة باستخدام نموذج CoreML المصدر؟
نعم، يمكنك تشغيل الاستنتاج مباشرة باستخدام نموذج CoreML المصدر. أدناه توجد الأوامر لـ Python وCLI:
from ultralytics import YOLO
coreml_model = YOLO("yolo26n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")لمزيد من المعلومات، راجع قسم الاستخدام من دليل تصدير CoreML.