كيفية التدريب، والتحقق، والتنبؤ، والتصدير وقياس الأداء مع نماذج Ultralytics YOLO
تعلم كيفية التدريب، والتحقق، والتنبؤ، والتصدير، والقياس مع نماذج Ultralytics YOLO!

دعنا نتعمق في عالم Ultralytics ونستكشف الأوضاع المختلفة المتاحة لنماذج YOLO المختلفة. وسواء كنت تقوم بتدريب نماذج object detection مخصصة أو تعمل على segmentation، فإن فهم هذه الأوضاع يعد خطوة حاسمة. لنبدأ مباشرة!
من خلال documentation الخاصة بـ Ultralytics، ستجد عدة modes يمكنك استخدامها لنماذجك، سواء كان ذلك للـ train أو validate أو predict أو export أو benchmark أو track. يخدم كل وضع من هذه الأوضاع غرضاً فريداً ويساعدك على تحسين أداء نموذجك ونشره.
نمط التدريب (Train)#
أولاً، لنلقِ نظرة على وضع التدريب (train mode). هذا هو المكان الذي تقوم فيه بنناء نموذجك وتحسينه. يمكنك العثور على إرشادات تفصيلية وvideo guides في الوثائق، مما يسهل عليك البدء في تدريب نماذجك المخصصة.
يتضمن تدريب النموذج تزويد النموذج بمجموعة بيانات جديدة، مما يسمح له بتعلم أنماط مختلفة. بمجرد تدريبه، يمكن استخدام النموذج في الوقت الفعلي لاكتشاف كائنات جديدة تم تدريبه عليها. قبل بدء عملية التدريب، من الضروري إضافة تعليقات توضيحية (annotate) لمجموعة البيانات الخاصة بك بتنسيق YOLO.
نمط التحقق (Validate)#
بعد ذلك، دعونا ننتقل إلى نمط التحقق. يعد التحقق أمراً ضرورياً لضبط المعلمات الفائقة (hyperparameters) وضمان أداء النموذج بشكل جيد. توفر Ultralytics مجموعة متنوعة من خيارات التحقق، بما في ذلك الإعدادات المؤتمتة، ودعم المقاييس المتعددة، والتوافق مع Python API. يمكنك حتى تشغيل التحقق مباشرة من خلال واجهة سطر الأوامر (CLI) باستخدام الأمر أدناه.
لماذا نستخدم التحقق؟#
يعد التحقق أمراً بالغ الأهمية من أجل:
- الدقة (Precision): ضمان أن نموذجك يكتشف الكائنات بدقة.
- الراحة (Convenience): تبسيط عملية التحقق.
- المرونة (Flexibility): توفير طرق تحقق متعددة.
- ضبط المعلمات الفائقة (Hyperparameter Tuning): تحسين نموذجك للحصول على أداء أفضل.
توفر Ultralytics أيضاً أمثلة للمستخدم يمكنك نسخها ولصقها في نصوص Python البرمجية الخاصة بك. تتضمن هذه الأمثلة معلمات مثل حجم الصورة، وحجم الدفعة (batch size)، والجهاز (CPU أو GPU)، وتقاطع الاتحاد (IoU).
نمط التنبؤ (Predict)#
بمجرد تدريب نموذجك والتحقق منه، حان الوقت لإجراء التنبؤات. يسمح لك نمط التنبؤ بتشغيل الاستدلال (inference) على بيانات جديدة ورؤية نموذجك قيد العمل. هذا النمط مثالي لاختبار أداء نموذجك على بيانات واقعية. باستخدام مقتطف كود Python أدناه، ستتمكن من تشغيل التنبؤات على صورك!
نمط التصدير (Export)#
بعد التحقق والتنبؤ، قد ترغب في نشر نموذجك. يتيح لك نمط التصدير تحويل نموذجك إلى تنسيقات مختلفة، مثل ONNX أو TensorRT، مما يسهل عملية النشر عبر منصات مختلفة.
نمط الاختبار المعياري (Benchmark)#
أخيراً، لدينا نمط الاختبار المعياري. يعد الاختبار المعياري أمراً ضرورياً لتقييم أداء نموذجك في سيناريوهات مختلفة. يساعدك هذا النمط في اتخاذ قرارات مستنيرة بشأن تخصيص الموارد، والتحسين، وكفاءة التكلفة.
كيفية إجراء الاختبار المعياري#
لتشغيل اختبار معياري، يمكنك استخدام أمثلة المستخدم المتوفرة في التوثيق. تغطي هذه الأمثلة المقاييس الرئيسية وتنسيقات التصدير، بما في ذلك ONNX وTensorRT. يمكنك أيضاً تحديد معلمات مثل تكميم الأعداد الصحيحة (INT8) أو تكميم الفاصلة العائمة (FP16) لمعرفة مدى تأثير الإعدادات المختلفة على الأداء.
مثال واقعي على الاختبار المعياري#
دعونا نلقي نظرة على مثال واقعي للاختبار المعياري. عندما نختبر نموذج PyTorch الخاص بنا معيارياً، نلاحظ سرعة استدلال تبلغ 68 مللي ثانية على GPU من نوع RTX 3070. بعد التصدير إلى TorchScript، تنخفض سرعة الاستدلال إلى 4 مللي ثانية، مما يظهر تحسناً كبيراً.
بالنسبة لنماذج ONNX، نحقق سرعة استدلال تبلغ 21 مللي ثانية. باختبار هذه النماذج على CPU (من نوع Intel i9 من الجيل الثالث عشر)، نرى نتائج متفاوتة. يعمل TorchScript بسرعة 115 مللي ثانية، بينما يعمل ONNX بشكل أفضل بسرعة 84 مللي ثانية. وأخيراً، يحقق OpenVINO المحسن لأجهزة Intel سرعة فائقة تبلغ 23 مللي ثانية.

الشكل 1. Nicolai Nielsen يوضح كيفية تشغيل عمليات القياس المقارن (benchmarking) باستخدام نماذج Ultralytics YOLO.
أهمية الاختبار المعياري#
يوضح الاختبار المعياري كيف يمكن للأجهزة وتنسيقات التصدير المختلفة أن تؤثر على أداء نموذجك. من الضروري إجراء اختبار معياري لنماذجك، خاصة إذا كنت تخطط لنشرها على أجهزة مخصصة أو أجهزة طرفية (edge devices). تضمن هذه العملية أن نموذجك محسن للبيئة المستهدفة، مما يوفر أفضل أداء ممكن.
الخلاصة#
باختصار، تعد الأنماط الموجودة في توثيق Ultralytics أدوات قوية لتدريب نماذج YOLO الخاصة بك والتحقق منها والتنبؤ بها وتصديرها وإجراء الاختبارات المعيارية لها. يلعب كل نمط دوراً حيوياً في تحسين نموذجك وإعداده للنشر.
لا تنسَ استكشاف والانضمام إلى community الخاصة بنا وتجربة مقتطفات الكود المقدمة في مشاريعك. باستخدام هذه الأدوات، يمكنك إنشاء نماذج عالية الأداء وضمان عملها بكفاءة في أي بيئة.






