تخطي إلى المحتوى

تصدير CoreML لنماذج YOLO11

يتطلب نشر نماذج الرؤية الحاسوبية على أجهزة Apple مثل أجهزة iPhone وMac تنسيقًا يضمن أداءً سلسًا.

يتيح لك تنسيق تصدير CoreML تحسين نماذج Ultralytics YOLO11 الخاصة بك من أجل اكتشاف الكائنات بكفاءة في تطبيقات iOS و macOS. في هذا الدليل، سنوجهك خلال خطوات تحويل نماذجك إلى تنسيق CoreML، مما يسهل على نماذجك الأداء الجيد على أجهزة Apple.

CoreML

نظرة عامة على CoreML

CoreML هو إطار عمل تعلم الآلة الأساسي لشركة Apple والذي يعتمد على Accelerate و BNNS و Metal Performance Shaders. يوفر تنسيق نموذج تعلم آلي يتكامل بسلاسة في تطبيقات iOS ويدعم مهام مثل تحليل الصور، معالجة اللغة الطبيعية، وتحويل الصوت إلى نص، وتحليل الصوت.

يمكن للتطبيقات الاستفادة من Core ML دون الحاجة إلى اتصال شبكة أو استدعاءات API لأن إطار عمل Core ML يعمل باستخدام الحوسبة على الجهاز. هذا يعني أنه يمكن إجراء استنتاج النموذج محليًا على جهاز المستخدم.

الميزات الرئيسية لنماذج CoreML

يوفر إطار عمل CoreML من Apple ميزات قوية للتعلم الآلي على الجهاز. فيما يلي الميزات الرئيسية التي تجعل CoreML أداة قوية للمطورين:

  • دعم شامل للنماذج: يقوم بتحويل وتشغيل النماذج من الأطر الشائعة مثل TensorFlow و PyTorch و scikit-learn و XGBoost و LibSVM.

النماذج المدعومة في CoreML

  • On-device Machine Learning: يضمن خصوصية البيانات والمعالجة السريعة عن طريق تنفيذ النماذج مباشرة على جهاز المستخدم، مما يلغي الحاجة إلى اتصال الشبكة.

  • الأداء والتحسين: يستخدم وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسوميات (GPU) والمحرك العصبي للجهاز للحصول على الأداء الأمثل مع الحد الأدنى من استخدام الطاقة والذاكرة. يقدم أدوات لضغط النموذج وتحسينه مع الحفاظ على الدقة.

  • سهولة التكامل: يوفر تنسيقًا موحدًا لأنواع النماذج المختلفة وواجهة برمجة تطبيقات سهلة الاستخدام للتكامل السلس في التطبيقات. يدعم المهام الخاصة بالمجال من خلال أطر عمل مثل Vision واللغة الطبيعية.

  • ميزات متقدمة: تتضمن إمكانات التدريب على الجهاز لتجارب مخصصة، وتنبؤات غير متزامنة لتجارب ML تفاعلية، وأدوات فحص النموذج والتحقق من صحته.

خيارات نشر CoreML

قبل أن ننظر إلى التعليمات البرمجية لتصدير نماذج YOLO11 إلى تنسيق CoreML، دعنا نفهم أين تستخدم نماذج CoreML عادةً.

يقدم CoreML خيارات نشر متنوعة لنماذج تعلم الآلة، بما في ذلك:

  • On-Device Deployment: تدمج هذه الطريقة نماذج CoreML مباشرة في تطبيق iOS الخاص بك. إنه مفيد بشكل خاص لضمان زمن انتقال منخفض، وتعزيز الخصوصية (نظرًا لأن البيانات تظل على الجهاز)، ووظائف عدم الاتصال بالإنترنت. ومع ذلك، قد يكون هذا النهج محدودًا بقدرات أجهزة الجهاز، خاصة بالنسبة للنماذج الأكبر والأكثر تعقيدًا. يمكن تنفيذ النشر على الجهاز بالطريقتين التاليتين.

    • نماذج مضمنة: يتم تضمين هذه النماذج في حزمة التطبيق ويمكن الوصول إليها على الفور. إنها مثالية للنماذج الصغيرة التي لا تتطلب تحديثات متكررة.

    • النماذج التي تم تنزيلها: يتم جلب هذه النماذج من الخادم حسب الحاجة. هذا النهج مناسب للنماذج الأكبر أو تلك التي تحتاج إلى تحديثات منتظمة. فهو يساعد في الحفاظ على حجم حزمة التطبيق أصغر.

  • النشر المستند إلى السحابة: تتم استضافة نماذج CoreML على الخوادم ويتم الوصول إليها بواسطة تطبيق iOS من خلال طلبات واجهة برمجة التطبيقات (API). يتيح هذا الخيار المرن والقابل للتطوير تحديثات سهلة للنموذج دون مراجعات التطبيق. إنه مثالي للنماذج المعقدة أو التطبيقات واسعة النطاق التي تتطلب تحديثات منتظمة. ومع ذلك، فإنه يتطلب اتصالاً بالإنترنت وقد يطرح مشكلات تتعلق بزمن الوصول والأمان.

تصدير نماذج YOLO11 إلى CoreML

يتيح تصدير YOLO11 إلى CoreML أداءً مُحسَّنًا للتعلم الآلي على الجهاز داخل نظام Apple البيئي، مما يوفر مزايا من حيث الكفاءة والأمان والتكامل السلس مع منصات iOS و macOS و watchOS و tvOS.

التثبيت

لتثبيت الحزمة المطلوبة، قم بتشغيل:

التثبيت

# Install the required package for YOLO11
pip install ultralytics

للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، تحقق من دليل تثبيت YOLO11. أثناء تثبيت الحزم المطلوبة لـ YOLO11، إذا واجهت أي صعوبات، فراجع دليل المشكلات الشائعة للحصول على الحلول والنصائح.

الاستخدام

قبل الغوص في إرشادات الاستخدام، تأكد من مراجعة مجموعة نماذج YOLO11 التي تقدمها Ultralytics. سيساعدك هذا في اختيار النموذج الأنسب لمتطلبات مشروعك.

الاستخدام

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'

وسائط التصدير

الوسيطة النوع افتراضي الوصف
format str 'coreml' تنسيق الهدف للنموذج الذي تم تصديره، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgsz int أو tuple 640 حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا. (height, width) لأبعاد محددة.
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 حول التصدير.

نشر نماذج YOLO11 CoreML المصدرة

بعد نجاح تصدير نماذج Ultralytics YOLO11 الخاصة بك إلى CoreML، فإن المرحلة الحاسمة التالية هي نشر هذه النماذج بفعالية. للحصول على إرشادات مفصلة حول نشر نماذج CoreML في بيئات مختلفة، تحقق من هذه الموارد:

  • أدوات CoreML: يتضمن هذا الدليل إرشادات وأمثلة لتحويل النماذج من TensorFlow و PyTorch والمكتبات الأخرى إلى Core ML.

  • التعلم الآلي والرؤية (ML and Vision): مجموعة من مقاطع الفيديو الشاملة التي تغطي جوانب مختلفة من استخدام وتنفيذ نماذج CoreML.

  • دمج نموذج Core ML في تطبيقك: دليل شامل حول دمج نموذج CoreML في تطبيق iOS، مع تفصيل الخطوات من إعداد النموذج إلى تنفيذه في التطبيق لوظائف مختلفة.

ملخص

في هذا الدليل، استعرضنا كيفية تصدير نماذج Ultralytics YOLO11 إلى تنسيق CoreML. باتباع الخطوات الموضحة في هذا الدليل، يمكنك ضمان أقصى قدر من التوافق والأداء عند تصدير نماذج YOLO11 إلى CoreML.

لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة وثائق CoreML الرسمية.

أيضًا، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO11 الأخرى، فقم بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد والأفكار القيمة هناك.

الأسئلة الشائعة

كيف يمكنني تصدير نماذج YOLO11 إلى صيغة CoreML؟

لتصدير Ultralytics YOLO11 لتحويل النماذج إلى تنسيق CoreML، ستحتاج أولاً إلى التأكد من أن لديك ultralytics تم تثبيت الحزمة. يمكنك تثبيتها باستخدام:

التثبيت

pip install ultralytics

بعد ذلك، يمكنك تصدير النموذج باستخدام أوامر python أو CLI التالية:

الاستخدام

from ultralytics import YOLO

model = YOLO("yolo11n.pt")
model.export(format="coreml")
yolo export model=yolo11n.pt format=coreml

لمزيد من التفاصيل، راجع قسم تصدير نماذج YOLO11 إلى CoreML في وثائقنا.

ما هي فوائد استخدام CoreML لنشر نماذج YOLO11؟

يوفر CoreML العديد من المزايا لنشر نماذج Ultralytics YOLO11 على أجهزة Apple:

  • On-device Processing: يتيح الاستدلال النموذجي المحلي على الأجهزة، مما يضمن data privacy وتقليل زمن الوصول.
  • تحسين الأداء: يستفيد من الإمكانات الكاملة لوحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) والمحرك العصبي (Neural Engine) بالجهاز، مما يحسن كلاً من السرعة والكفاءة.
  • سهولة التكامل: يوفر تجربة تكامل سلسة مع أنظمة Apple البيئية، بما في ذلك iOS و macOS و watchOS و tvOS.
  • تعدد الاستخدامات: يدعم مجموعة واسعة من مهام تعلم الآلة مثل تحليل الصور ومعالجة الصوت ومعالجة اللغة الطبيعية باستخدام إطار عمل CoreML.

لمزيد من التفاصيل حول دمج نموذج CoreML الخاص بك في تطبيق iOS، تحقق من الدليل الموجود على دمج نموذج Core ML في تطبيقك.

ما هي خيارات نشر نماذج YOLO11 التي تم تصديرها إلى CoreML؟

بمجرد تصدير نموذج YOLO11 الخاص بك إلى تنسيق CoreML، لديك خيارات نشر متعددة:

  1. On-Device Deployment: ادمج نماذج CoreML مباشرة في تطبيقك لتحسين الخصوصية ووظائف عدم الاتصال بالإنترنت. يمكن القيام بذلك على النحو التالي:

    • نماذج مضمنة: مضمنة في حزمة التطبيق، ويمكن الوصول إليها على الفور.
    • النماذج التي تم تنزيلها: يتم جلبها من الخادم حسب الحاجة، مما يحافظ على حجم حزمة التطبيق أصغر.
  2. النشر المستند إلى السحابة: استضف نماذج CoreML على الخوادم وقم بالوصول إليها عبر طلبات واجهة برمجة التطبيقات (API). يدعم هذا النهج تحديثات أسهل ويمكنه التعامل مع نماذج أكثر تعقيدًا.

للحصول على إرشادات مفصلة حول نشر نماذج CoreML، راجع خيارات نشر CoreML.

كيف تضمن CoreML الأداء الأمثل لنماذج YOLO11؟

يضمن CoreML أداءً مُحسَّنًا لنماذج Ultralytics YOLO11 من خلال استخدام تقنيات تحسين متنوعة:

  • تسريع الأجهزة: يستخدم وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسوميات (GPU) والمحرك العصبي (Neural Engine) في الجهاز لإجراء العمليات الحسابية بكفاءة.
  • ضغط النموذج (Model Compression): يوفر أدوات لضغط النماذج لتقليل حجمها دون المساس بالدقة.
  • الاستدلال التكيفي: يضبط الاستدلال بناءً على قدرات الجهاز للحفاظ على التوازن بين السرعة والأداء.

لمزيد من المعلومات حول تحسين الأداء، تفضل بزيارة وثائق CoreML الرسمية.

هل يمكنني تشغيل الاستدلال مباشرةً باستخدام نموذج CoreML الذي تم تصديره؟

نعم، يمكنك تشغيل الاستدلال مباشرةً باستخدام نموذج CoreML الذي تم تصديره. فيما يلي أوامر python و CLI:

تشغيل الاستدلال

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'

للحصول على معلومات إضافية، ارجع إلى قسم الاستخدام في دليل تصدير CoreML.



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 23 يومًا

تعليقات