انتقل إلى المحتوى

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

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

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

CoreML

CoreML نظره عامه

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

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

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

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

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

CoreML الموديلات المدعومة

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

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

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

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

CoreML خيارات النشر

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

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

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

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

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

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

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

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

تركيب

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

تركيب

# Install the required package for YOLOv8
pip install ultralytics

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

استخدام

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

استخدام

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO("yolov8n.pt")

# Export the model to CoreML format
model.export(format="coreml")  # creates 'yolov8n.mlpackage'

# Load the exported CoreML model
coreml_model = YOLO("yolov8n.mlpackage")

# Run inference
results = coreml_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLOv8n PyTorch model to CoreML format
yolo export model=yolov8n.pt format=coreml  # creates 'yolov8n.mlpackage''

# Run inference with the exported model
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

لمزيد من التفاصيل حول عملية التصدير ، قم بزيارة Ultralytics صفحة التوثيق الخاصة بالتصدير.

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

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

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

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

  • دمج نموذج التعلم الآلي الأساسي في تطبيقك: دليل شامل لدمج نموذج CoreML في تطبيق iOS ، يشرح بالتفصيل الخطوات بدءًا من إعداد النموذج إلى تنفيذه في التطبيق لمختلف الوظائف.

ملخص

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

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

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

الأسئلة المتداولة

كيف يمكنني تصدير النماذج YOLOv8 إلى تنسيق CoreML ؟

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

تركيب

pip install ultralytics

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

استخدام

from ultralytics import YOLO

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

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

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

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

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

لمزيد من التفاصيل حول دمج نموذج CoreML الخاص بك في تطبيق iOS ، راجع الدليل الخاص بدمج نموذج أساسي لتعلم الآلة في تطبيقك.

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

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

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

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

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

كيف يضمن موقع CoreML الأداء الأمثل لطرازات YOLOv8 ؟

CoreML يضمن الأداء الأمثل لـ Ultralytics YOLOv8 النماذج من خلال استخدام تقنيات التحسين المختلفة:

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

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

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

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

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

from ultralytics import YOLO

coreml_model = YOLO("yolov8n.mlpackage")
results = coreml_model("https://ultralytics.com/images/bus.jpg")
yolo predict model=yolov8n.mlpackage source='https://ultralytics.com/images/bus.jpg'

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



تم الإنشاء 2024-02-07، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (6)، رضوان منور (1)، أبيرامي فينا (1)

التعليقات