أمن جاهز للمؤسسات: متوافق مع ISO 27001 و SOC 2 Type I.

Link to this sectionتصدير CoreML لنماذج YOLO26#

توفر Apple شريحة مخصصة للذكاء الاصطناعي - محرك الشبكات العصبية (Neural Engine) - في كل أجهزة iPhone وiPad وMac الحديثة، وتُعد CoreML هي المسار المعتمد من Ultralytics لنشر النماذج عليها حالياً. يؤدي تصدير نماذج Ultralytics YOLO26 إلى CoreML إلى تحويل نقطة التحقق .pt المدربة إلى ملف .mlpackage أصلي يعمل على تشغيل مهام YOLO السبعة جميعها على الجهاز بزمن انتقال منخفض، دون الحاجة إلى اتصال بالشبكة ودون مغادرة أي بيانات للجهاز.

قم بتشغيل YOLO على المحرك العصبي من Apple اليوم باستخدام تطبيقات الهاتف المحمول الرسمية

تعمل حزمة Ultralytics YOLO iOS SDK الرسمية وإضافة Flutter على تشغيل صادرات CoreML على محرك الشبكات العصبية (Neural Engine) من Apple مباشرة - مما يوفر استنتاجاً فورياً للكاميرا، وتنبؤاً بالصور الفردية، وتنزيلاً تلقائياً للنماذج لجميع مهام YOLO26 السبعة، بما في ذلك العمق (Depth). لنشر النماذج على وحدات NPU في Android، راجع تكامل Qualcomm QNN.

تنسيق الذكاء الاصطناعي الأساسي المستقبلي من Apple

قدمت Apple إطار عمل Core AI وتنسيق .aimodel الجديد لجيل iOS 27 وmacOS 27. من المقرر طرح ميزة التصدير إلى Core AI في Ultralytics خلال الربع الرابع من عام 2026، لكنها غير متاحة بعد. يظل CoreML هو التنسيق المدعوم لإصدارات Ultralytics الحالية ولضمان توافق أوسع مع أجهزة Apple.



Watch: How to Export Ultralytics YOLO26 to CoreML for 2x Fast Inference on Apple Devices 🚀

Link to this sectionما هو CoreML؟#

Apple CoreML deployment pipeline

CoreML (يُشار إليه بـ "Core ML" من قِبل Apple) هو إطار عمل Apple للتعلم الآلي على الجهاز. يقوم بتحميل النماذج بتنسيق ML Program الحديث — وهو حزمة .mlpackage التي ينتجها مُصدر Ultralytics — ويجدولها عبر وحدة المعالجة المركزية (CPU)، ووحدة معالجة الرسومات (GPU)، والمحرك العصبي من Apple (ANE)، وهو معالج NPU المخصص في كل شريحة من شرائح Apple Silicon. نظرًا لأن كل شيء يعمل محليًا، فإن الاستنتاج يعمل دون اتصال بالإنترنت، ولا يضيف أي زمن وصول للشبكة، ويُبقي بيانات المستخدم على الجهاز.

يتكامل CoreML مباشرة مع إطار عمل Vision من Apple، والذي يتولى تغيير حجم الصور وتوجيهها في طريقها إلى النموذج — وهذه هي الطريقة التي تقوم بها حزمة Ultralytics iOS SDK بتغذية إطارات الكاميرا إلى YOLO بتكلفة معالجة مسبقة صفرية فعليًا.

Link to this sectionلماذا نقوم بتصدير YOLO26 إلى CoreML؟#

  • سرعة Neural Engine: يعمل اكتشاف YOLO26n من البداية إلى النهاية في 3.8 مللي ثانية على هاتف iPhone 17 Pro للصور الفردية، و11.3 مللي ثانية/إطار في الاستخدام المستمر للكاميرا في الوقت الفعلي؛ بينما يستغرق نموذج العمق (Depth) لـ YOLO26n 5.5 مللي ثانية للصور الفردية و16.5 مللي ثانية/إطار في الكاميرا المباشرة (انظر الجدول والملاحظات أدناه).
  • بدون NMS بالتصميم: YOLO26 هو نموذج شامل (end-to-end)، لذا لا يحتاج الرسم البياني المُصدّر إلى خط أنابيب NMS، وعملية فك التشفير تستغرق أقل من ميلي ثانية. يمكن لنماذج الكشف الأقدم مثل YOLO11 تضمين خط أنابيب CoreML NMS باستخدام nms=True.
  • خصوصية وغير متصل بالإنترنت: تبقى جميع العمليات الحسابية على الجهاز — لا توجد رحلات ذهاب وإياب إلى السحابة، ولا مفاتيح API، وخصوصية بيانات كاملة.
  • تصدير واحد، النظام البيئي بأكمله: تعمل حزمة .mlpackage نفسها على أنظمة iOS وiPadOS وmacOS وwatchOS وtvOS وvisionOS، وتدعم حزمة iOS SDK الرسمية من Ultralytics وإضافة Flutter.

Link to this sectionالأداء المقاس#

استنتاج الصورة الفردية من البداية إلى النهاية لنماذج YOLO26n INT8 CoreML الرسمية على هاتف iPhone 17 Pro (شريحة Apple A19، نظام iOS 26.5.2). تعرض كل خلية الوقت الإجمالي (المعالجة المسبقة + الاستنتاج + المعالجة اللاحقة، باستثناء التعليق التوضيحي) مع تفصيل كل مرحلة تحتها. على نظام iOS، تقوم Vision بتنفيذ تغيير حجم المدخلات ضمن طلب الاستنتاج، لذا يتم الإبلاغ عن المعالجة المسبقة بـ 0 ويتم تضمين تكلفتها في الاستنتاج.

النموذجالمهمةالحجم
(بكسل)
CPU
.cpuOnly
(مللي ثانية)
المحرك العصبي
.cpuAndNeuralEngine
(مللي ثانية)
YOLO26nاكتشاف6409.1
0.0 / 9.1 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-segتجزئة64012.3
0.0 / 12.1 / 0.2
4.8
0.0 / 4.5 / 0.3
YOLO26n-semدلالي (Semantic)1024121.8
0.0 / 21.0 / 0.8
12.1
0.0 / 11.3 / 0.8
YOLO26n-depthالعمق (Depth)64024.8
0.0 / 23.9 / 0.9
5.5
0.0 / 4.7 / 0.9
YOLO26n-clsتصنيف2242.2
0.0 / 2.2 / 0.0
2.0
0.0 / 2.0 / 0.0
YOLO26n-poseوضعية64012.0
0.0 / 11.9 / 0.0
3.8
0.0 / 3.8 / 0.0
YOLO26n-obbOBB102421.7
0.0 / 21.7 / 0.0
7.2
0.0 / 7.2 / 0.0
  • 1 تقوم صادرات CoreML الدلالية بتضمين ArgMax في الرسم البياني وإرجاع خريطة فئة مدمجة كاملة الدقة ([1, 1024, 1024]) بدلاً من أرقام float logits، بحيث تكون المعالجة اللاحقة عبارة عن مسح لوني يستغرق أقل من ميلي ثانية، وتظهر الأقنعة بدقة بكسل حادة.
  • قيم السرعة هي زمن انتقال الاندفاع للصور الفردية (burst latencies) - وهي متوسط 15 تشغيلاً بعد 3 عمليات إحماء على bus.jpg، تم قياسها من خلال التوقيت لكل مرحلة في iOS SDK عبر أداة قياس الأداء الخاصة بـ إضافة Flutter في وضع الملف الشخصي (كود أصلي محسن). تكون عملية الكاميرا المستمرة في الوقت الفعلي أعلى لأنها تتضمن خط أنابيب الالتقاط وتغيير الحجم بالإضافة إلى الاستقرار الحراري: يقيس اكتشاف YOLO26n 11.3 مللي ثانية/إطار، ويقيس عمق (Depth) YOLO26n 16.5 مللي ثانية/إطار في تطبيق الكاميرا المباشر على نفس الجهاز - راجع وثيقة أداء iOS SDK للحصول على معلومات حول قياس الأداء في الحالة المستقرة.
  • يوجد جدول مطابقة Snapdragon CPU/GPU/NPU في تكامل Qualcomm QNN.

Link to this sectionتصدير نماذج YOLO26 إلى CoreML#

Link to this sectionالتثبيت#

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

التثبيت
# Install the required package for YOLO26
pip install ultralytics

يتم تثبيت محول coremltools تلقائيًا عند التصدير الأول. يعمل التصدير على macOS أو x86 Linux؛ للحصول على تعليمات مفصلة وأفضل الممارسات، راجع دليل التثبيت ودليل المشكلات الشائعة.

Link to this sectionالاستخدام#

يدعم تنسيق CoreML أوضاع التصدير، والتنبؤ، والتحقق. يتم تشغيل الاستنتاج والتحقق باستخدام CoreML على نظام macOS فقط. قم بتصدير نموذجك، ثم قم بتحميل النموذج المُصدر لتشغيل الاستنتاج أو التحقق من دقتها.

التصدير
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export to CoreML with INT8 weight quantization, matching the official app models
model.export(format="coreml", quantize=8)  # creates 'yolo26n.mlpackage'
التنبؤ
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
التحقق
from ultralytics import YOLO

# Load the exported CoreML model (macOS)
model = YOLO("yolo26n.mlpackage")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Link to this sectionوسائط التصدير#

الوسيطالنوعالافتراضيالوصف
formatstr'coreml'التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لمدخل النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو زوجاً مرتباً (height, width) لأبعاد محددة.
quantizeint أو strNoneدقة التكميم (للأوزان فقط في CoreML): 16 (FP16)، أو 8 (INT8)، أو "w8a16" (أوزان INT8 مع تنشيطات FP16)، أو 32/غير محدد (FP32). تستخدم برامج NMS ML غير المحددة FP16 لمعاينة Xcode؛ مرر 32 للتجاوز. يستبدل الأعلام half/int8 التي أصبحت مهملة.
nmsboolFalseيقوم بتضمين خط أنابيب CoreML NMS. مخصص لنماذج الكشف فقط (يتم تجاهله مع تحذير للمهام الأخرى)؛ ليس ضرورياً لنموذج YOLO26 الخالي من NMS، استخدمه للنماذج الأقدم مثل YOLO11.
dynamicboolFalseيسمح بأحجام إدخال ديناميكية، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة.
batchint1يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict.
devicestrNoneيحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps).

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

Link to this sectionاستهداف المحرك العصبي#

يختار CoreML الأجهزة عبر MLModelConfiguration.computeUnits. تقوم حزمة Ultralytics iOS SDK افتراضيًا بضبط .cpuAndNeuralEngine على iOS 16+ بدلاً من .all: في تطبيق كاميرا الوقت الفعلي، تكون وحدة معالجة الرسومات مشغولة بالفعل بتركيب المعاينة والتراكبات، لذا فإن استبعادها يتجنب التنافس وتقلب وقت الإطارات بينما يقوم المحرك العصبي (ANE) بالعمل الثقيل. استخدم .cpuOnly فقط لاختبار التوافق — يوضح الجدول أعلاه التكلفة المترتبة على ذلك.

يتبع تشغيل نموذج CoreML من Python على Mac host (عبر Ultralytics أو coremltools) نفس القاعدة: يتم تحميل Ultralytics باستخدام ComputeUnit.CPU_AND_NE (على نظام macOS 13+، مع العودة إلى CPU_ONLY في إصدارات macOS الأقدم)، مما يحافظ على الاستدلال على المحرك العصبي (أسرع بحوالي 3 مرات من وحدة المعالجة المركزية CPU). وهذا يتجنب أيضاً قيوداً حالية في مضيف macOS حيث أن الإعداد الافتراضي ComputeUnit.ALL / CPU_AND_GPU — الذي يضيف مسار ترجمة GPU/MPSGraph — يؤدي إلى إجهاض العملية مع خطأ تأكيدي Error: MLIR pass manager failed على coremltools 9.x.

Link to this sectionنشر نماذج YOLO26 CoreML المُصدرة#

الطريقة الأسرع هي استخدام Ultralytics YOLO iOS SDK الرسمية، وهي نفس حزمة Swift التي تدعم تطبيق Ultralytics iOS وإضافة Flutter. تقوم هذه الحزمة بحل أسماء النماذج الرسمية تلقائيًا، وتنزيل حزمة .mlpackage وتخزينها مؤقتًا، وإرجاع النتائج التي تم فك تشفيرها بالكامل:

import UltralyticsYOLO

// Loads the official INT8 model (downloaded and cached on first use), then runs inference
let yolo = YOLO("yolo26n", task: .detect) { result in
    if case .success(let model) = result {
        let results = model(uiImage)  // boxes, labels, confidences, timing
    }
}

بالنسبة لتطبيقات الكاميرا، قم بإسقاط YOLOView الخاصة بالحزمة للاستنتاج في الوقت الفعلي مع تراكبات أصلية، أو استخدم إضافة Flutter للتطبيقات عبر الأنظمة الأساسية التي تشترك في قاعدة كود واحدة مع Android.

يُعد دمج حزمة .mlpackage خام بنفسك أمرًا مباشرًا أيضًا باستخدام مكدس Apple — قم بتحميلها باستخدام MLModel وقم بتغليفها في VNCoreMLRequest وقم بتغذية الصور من خلال VNImageRequestHandler. تغطي هذه الموارد التفاصيل:

قم بشحن النموذج إما مضمنًا في حزمة التطبيق (توفر فوري، مثالي للنماذج الصغيرة/النانو) أو تم تنزيله عند التشغيل الأول وتخزينه مؤقتًا (ملف ثنائي أصغر، تحديثات سهلة للنماذج) — تستخدم التطبيقات الرسمية النهج الثاني مع أصول إصدار GitHub.

Link to this sectionسير العمل الموصى به#

  1. درب نموذجك باستخدام وضع التدريب في Ultralytics، أو ابدأ من أوزان YOLO26 الرسمية
  2. تصدير باستخدام model.export(format="coreml", quantize=8) على macOS أو Linux x86
  3. تحقق من الدقة باستخدام model.val() على جهاز Mac، وقم بالتحليل باستخدام تقرير أداء Core ML في Xcode على جهازك المستهدف
  4. انشر النموذج باستخدام iOS SDK، أو إضافة Flutter، أو تكامل Vision الخاص بك، مع استهداف .cpuAndNeuralEngine

Link to this sectionملخص#

في هذا الدليل، تعلمت كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق .mlpackage الخاص بـ CoreML، وتكميمها للمحرك العصبي من Apple، ونشرها بزمن انتقال من خانة واحدة من الميللي ثانية — سواء من خلال iOS SDK الرسمية وإضافة Flutter أو تكامل Vision الخاص بك. لأهداف نشر أخرى، تصفح صفحة دليل التكامل، وقارن بين التنسيقات باستخدام وضع القياس.

Link to this sectionالأسئلة الشائعة#

Link to this sectionكيف أقوم بتصدير نماذج YOLO26 إلى تنسيق CoreML؟#

قم بتشغيل model.export(format="coreml") في Python أو yolo export model=yolo26n.pt format=coreml من CLI على macOS أو Linux x86. أضف quantize=8 لمطابقة نماذج التطبيق الرسمية. ينتج التصدير ملف yolo26n.mlpackage كـ ML Program جاهز للاستخدام في Xcode أو iOS SDK أو إضافة Flutter.

Link to this sectionهل أحتاج إلى nms=True عند تصدير YOLO26؟#

لا. YOLO26 خالٍ من NMS بشكل شامل، لذا فإن الرسم البياني المُصدّر يصدر بالفعل اكتشافات نهائية وتكاليف فك التشفير أقل بكثير من ميلي ثانية. يوجد الخيار nms=True لنماذج الكشف الأقدم مثل YOLO11، حيث يقوم بتضمين خط أنابيب CoreML NMS حتى لا يضطر تطبيقك إلى تنفيذ عملية الإخماد. تدعم خطوط أنابيب CoreML NMS اكتشاف الكائنات فقط، لذا يتم تجاهل nms=True مع تحذير للمهام الأخرى مثل التجزئة وتحديد الوضعية (pose).

Link to this sectionأي دقة يجب أن أستخدمها — FP16 أم INT8؟#

تأتي نماذج تطبيق Ultralytics الرسمية بتنسيق INT8، مما يقلل حجم التنزيل ويعمل بالسرعات المذكورة في الجدول أعلاه. quantize=16 (FP16) هو بديل متحفظ لا يؤدي فعلياً إلى أي فقدان في الدقة. تحقق من دقة تصديرك باستخدام model.val() على جهاز Mac قبل النشر.

Link to this sectionكيف أتأكد من تشغيل الاستنتاج على المحرك العصبي؟#

اضبط MLModelConfiguration.computeUnits = .cpuAndNeuralEngine (الإعداد الافتراضي لـ iOS SDK على iOS 16+). تجنب .all في تطبيقات الكاميرا — وحدة معالجة الرسومات مشغولة بتركيب المعاينة، وتجدولة الاستنتاج هناك تسبب تقلب وقت الإطارات. أكد التنسيب باستخدام تقرير أداء Core ML في Xcode.

Link to this sectionهل يمكنني تشغيل والتحقق من نماذج CoreML باستخدام Ultralytics CLI؟#

نعم، على نظام macOS: يعمل yolo predict model=yolo26n.mlpackage source=image.jpg و yolo val model=yolo26n.mlpackage data=coco8.yaml مثل أي تنسيق آخر. يتطلب تنفيذ CoreML أجهزة Apple، لذا فإن هذه الأوضاع غير متوفرة على Linux وWindows.

Link to this sectionما هي أسرع طريقة لتشغيل YOLO26 في تطبيق iOS أو Flutter؟#

استخدم Ultralytics YOLO iOS SDK الرسمية (حزمة Swift) أو إضافة Flutter. كلاهما يقوم بتحميل النماذج الرسمية بالاسم مع التنزيل والتخزين المؤقت التلقائي، وتشغيلها على المحرك العصبي، وتتضمن واجهات مستخدم كاملة للكاميرا في الوقت الفعلي — تم إنتاج جدول الأداء المقاس أعلاه باستخدام هذا المكدس تمامًا.

التعليقات