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

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 الموديلات المدعومة

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

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

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

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

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

Before we look at the code for exporting YOLOv8 models to the CoreML format, let's understand where CoreML models are usually used.

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

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

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

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

  • Cloud-Based Deployment: CoreML models are hosted on servers and accessed by the iOS app through API requests. This scalable and flexible option enables easy model updates without app revisions. It's ideal for complex models or large-scale apps requiring regular updates. However, it does require an internet connection and may pose latency and security issues​.

تصدير 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 نماذج في بيئات مختلفة ، تحقق من هذه الموارد:

ملخص

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

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

Also, if you'd like to know more about other Ultralytics YOLOv8 integrations, visit our integration guide page. You'll find plenty of valuable resources and insights there.



Created 2024-02-07, Updated 2024-06-10
Authors: glenn-jocher (5), RizwanMunawar (1), abirami-vina (1)

التعليقات