Ultralytics YOLO27: انضم إلى قائمة الانتظار.
ترخيص YOLO
عمليات التكامل

درّب Ultralytics YOLOv5 وراقبه عن بُعد باستخدام ClearML

تعلّم كيفية تتبّع التجارب وإدارة إصدارات مجموعات البيانات وضبط المعلمات الفائقة وتدريب نماذج Ultralytics YOLOv5 على أجهزة بعيدة باستخدام ClearML.

نوفولا لاديNuvola Ladi6 دقيقة قراءة
تدريب YOLOv5 ومراقبته باستخدام ClearML

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

ClearML هو أحدث شركائنا: مجموعة أدوات مفتوحة المصدر مصممة لتوفير وقتك.

تسعى ClearML إلى تسريع اعتماد التعلّم الآلي (ML)، وتجعل دمجه في أي منتج برمجي أو عتادي أمرًا سهلًا.

يجعل هذا التكامل تدريب نموذج YOLOv5 أبسط، ويتيح استخدام مدير تجارب ClearML لتعقّبه تلقائيًا. ويمكنك بسهولة تحديد معرّف إصدار مجموعة بيانات ClearML كمدخل للبيانات، وسيُستخدم تلقائيًا لتدريب نموذجك.

ارتقِ بتتبع تجاربك إلى مستوى جديد#

  • تتبّع كل عملية تدريب لـ YOLOv5 في مدير التجارب.
  • أنشئ إصدارات من بيانات التدريب المخصصة، وتمكّن من الوصول إليها بسهولة باستخدام أداة ClearML المدمجة لإصدار بيانات التدريب.
  • احصل على أفضل قيمة ممكنة لـ mAP باستخدام تحسين المعلمات الفائقة في ClearML.
  • حوّل نموذج YOLOv5 الذي درّبته حديثًا إلى API باستخدام بضعة أوامر فقط عبر ClearML Serving.

الأمر متروك لك لتحديد عدد هذه الأدوات التي تريد استخدامها: يمكنك الاكتفاء بمدير التجارب، أو ربطها جميعًا في مسار عمل متكامل ومتميز.

الإعداد#

لتعقّب تجاربك وبياناتك، يحتاج ClearML إلى التواصل مع خادم. ويتوفر لك خياران: إما التسجيل مجانًا في خدمة ClearML المستضافة، أو إعداد خادمك الخاص.

حتى الخادم مفتوح المصدر، لذا لن تكون البيانات الحساسة مشكلة!

  1. ثبّت حزمة ClearML الخاصة بـ Python: pip install clearml
  2. اربط ClearML SDK بالخادم من خلال إنشاء بيانات الاعتماد (انتقل إلى أعلى اليمين، ثم إلى Settings → Workspace → Create new credentials)، وبعد ذلك نفّذ الأمر أدناه واتبع التعليمات: clearml-init

أصبحت الآن مستعدًا للبدء.

تدريب YOLOv5 باستخدام ClearML#

لتفعيل تعقّب التجارب في ClearML، ما عليك سوى تثبيت حزمة ClearML عبر pip.

pip install clearml

سيؤدي ذلك إلى تفعيل التكامل مع برنامج تدريب YOLOv5 النصي. ومن الآن فصاعدًا، سيسجل مدير التجارب ClearML كل عملية تدريب ويخزنها. وإذا أردت تغيير project_name أو task_name، فتوجه إلى مسجلنا المخصص لتغييره: utils/loggers/clearml/clearml_utils.py

python train.py --img 640 --batch 16 --epochs 3 --data coco128.yaml --weights yolov5s.pt --cache

سيسجل ذلك ما يلي:

  • الشيفرة المصدرية + التغييرات غير المودعة
  • الحزم المثبّتة
  • المَعلمات (الفائقة)
  • ملفات النموذج (استخدم --save-period n لحفظ نقطة تحقق كل n حقب)
  • مخرجات وحدة التحكم
  • المقاييس العددية (mAP50، mAP50-95، الدقة، الاستدعاء، الخسائر، معدلات التعلّم، ...)
  • معلومات عامة مثل تفاصيل الجهاز ووقت التشغيل وتاريخ الإنشاء وما إلى ذلك.
  • جميع المخططات الناتجة، مثل مخطط ترابط التسميات ومصفوفة الالتباس
  • صور تتضمن مربعات إحاطة لكل حقبة
  • التركيب الفسيفسائي لكل حقبة
  • صور التحقق لكل حقبة

يمكننا الآن عرض كل هذه المعلومات في واجهة ClearML للحصول على نظرة عامة على تقدّم التدريب. أضف أعمدة مخصّصة إلى عرض الجدول (مثل mAP50) لتتمكن من فرز النماذج بسهولة حسب الأفضل أداءً. أو حدّد تجارب متعددة وقارن بينها مباشرةً!

يمكننا الاستفادة من هذه المعلومات بطرق أكثر، مثل تحسين المعلمات الفائقة والتنفيذ عن بُعد، لذا تابع القراءة لمعرفة الطريقة!

إدارة إصدارات مجموعات البيانات#

يُعدّ إصدار بياناتك بشكل منفصل عن شيفرتك فكرة جيدة عمومًا، كما يسهّل الحصول على أحدث إصدار. يتيح هذا المستودع تحديد معرّف إصدار مجموعة البيانات، ويتولى جلب البيانات إن لم تكن موجودة بعد. وإضافة إلى ذلك، يحفظ سير العمل هذا معرّف مجموعة البيانات المستخدمة ضمن معلمات المهمة، لذا ستعرف دائمًا على وجه اليقين البيانات المستخدمة في كل تجربة!

إعداد مجموعة البيانات#

يدعم مستودع YOLOv5 عددًا من مجموعات البيانات المختلفة باستخدام ملفات YAML التي تتضمن معلوماتها. وتُنزل مجموعات البيانات افتراضيًا إلى المجلد ../datasets نسبةً إلى المجلد الجذر للمستودع. لذلك، إذا نزّلت مجموعة بيانات COCO128 باستخدام الرابط الوارد في ملف YAML أو النصوص البرمجية التي يوفرها YOLOv5، فستحصل على بنية المجلدات التالية:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

لكن يمكن أن تكون هذه أي مجموعة بيانات تريدها. لا تتردد في استخدام مجموعة بياناتك، ما دمت تحافظ على بنية المجلدات هذه.

بعد ذلك، انسخ ملف YAML الموافق إلى جذر مجلد مجموعة البيانات. وتحتوي ملفات YAML هذه على المعلومات التي يحتاج إليها ClearML لاستخدام مجموعة البيانات على نحو صحيح. وبالطبع، يمكنك إنشاء الملف بنفسك أيضًا؛ ما عليك سوى اتباع بنية ملفات YAML النموذجية.

يجب أن يتضمن ملف YAML المفاتيح التالية: path وtrain وtest وval وnc وnames.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml # ← HERE!
        |_ LICENSE
        |_ README.txt

تحميل مجموعة البيانات#

لإضافة مجموعة البيانات هذه إلى ClearML بوصفها مجموعة بيانات ذات إصدارات، انتقل إلى المجلد الجذر لمجموعة البيانات وشغّل الأمر التالي:

cd coco128

clearml-data sync --project YOLOv5 --name coco128 --folder .

الأمر clearml-data sync هو في الواقع أمر مختصر. ويمكنك أيضًا تشغيل هذه الأوامر واحدًا تلو الآخر:

# Optionally add --parent if you want to base
# this version on another dataset version, so no duplicate files are uploaded!

clearml-data create --name coco128 --project YOLOv5

clearml-data add --files .

clearml-data close

تشغيل التدريب باستخدام مجموعة بيانات ClearML#

بعد إنشاء مجموعة بيانات ClearML، يمكنك استخدامها لتدريب نماذج YOLOv5 مخصصة.

python train.py --img 640 --batch 16 --epochs 3 --data clearml:// --weights yolov5s.pt --cache

تحسين المعلمات الفائقة#

بعد أن أصبحت لدينا تجاربنا وإصدار البيانات، حان الوقت لمعرفة ما يمكننا إنشاؤه بالاستناد إليهما!

باستخدام معلومات الشيفرة والحزم المثبتة وتفاصيل البيئة، أصبح بالإمكان الآن إعادة إنتاج التجربة بالكامل. ويسمح ClearML في الواقع باستنساخ تجربة، بل وتغيير معلماتها أيضًا. ويمكننا بعد ذلك إعادة تشغيلها تلقائيًا بهذه المعلمات الجديدة، وهذا هو جوهر تحسين المعلمات الفائقة (HPO).

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

ستحتاج إلى إدخال معرّف المهمة النموذجية في النص البرمجي الموجود في utils/loggers/clearml/hpo.py، ثم تشغيله. يمكنك تغيير task.execute_locally() إلى task.execute() لإضافته إلى قائمة انتظار ClearML، كي يتولى وكيل بعيد تنفيذه.

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

التنفيذ عن بُعد (متقدم)#

إن تشغيل تحسين المعلمات الفائقة محليًا مفيد جدًا، لكن ماذا لو أردنا تشغيل تجاربنا على جهاز بعيد بدلًا من ذلك؟ ربما يمكنك استخدام جهاز GPU قوي جدًا في الموقع، أو لديك ميزانية للاستفادة من وحدات GPU السحابية. وهنا يأتي دور وكيل ClearML.

اطّلع هنا على إمكانات الوكيل:

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

يمكنك تحويل أي جهاز (آلة افتراضية سحابية، أو جهاز GPU محلي، أو حاسوبك المحمول) إلى وكيل ClearML بمجرد تشغيل:

clearml-agent daemon --queue QUEUES_TO_LISTEN_TO [--docker]

الاستنساخ والتحرير والإضافة إلى قائمة الانتظار#

بعد تشغيل وكيلنا، يمكننا إسناد بعض المهام إليه. تذكّر من قسم تحسين المعلمات الفائقة أنه يمكننا استنساخ مهمة وتحرير معلماتها الفائقة. ويمكننا فعل ذلك من الواجهة أيضًا!

  1. استنسخ التجربة بالنقر بزر الفأرة الأيمن عليها.
  2. عدّل المعلمات الفائقة إلى القيم التي تريدها.
  3. أضف المهمة إلى أي من قوائم الانتظار بالنقر بزر الفأرة الأيمن عليها.

تنفيذ مهمة عن بُعد#

يمكنك الآن استنساخ مهمة كما أوضحنا أعلاه، أو ببساطة وضع علامة على النص البرمجي الحالي بإضافة task.execute_remotely()؛ وعند التنفيذ، ستُضاف المهمة إلى قائمة انتظار ليبدأ الوكيل العمل عليها!

لتشغيل نص تدريب YOLOv5 البرمجي عن بُعد، ما عليك سوى إضافة هذا السطر إلى النص البرمجي train.py بعد إنشاء مسجّل ClearML:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # ⁨مثيل المسجّلات⁩
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # ⁨<------ أضف هذا السطر⁩

هل لديك أي أسئلة؟ انضم إلى مجتمعنا واطرح سؤالك اليوم!

بقلم

Nuvola Ladi
Nuvola Ladi

مديرة المحتوى الرقمي · Ultralytics

تعمل نوفولا لادي مديرةً للمحتوى الرقمي في Ultralytics، حيث تنشئ محتوى عن ذكاء الرؤية وUltralytics YOLO، وتمثل الشركة في فعاليات القطاع مثل مؤتمر PyTorch لعام 2025. تقيم في إسبانيا، وتحمل درجة الماجستير في الوسائط المرئية والرقمية من جامعة IE. وقبل انضمامها إلى Ultralytics، شغلت مناصب في مؤسسات منها XVA Gallery & Hotel وRolex.

التعليقات

اطرح سؤالًا، أو شارك نتائجك، أو ساعد شخصًا آخر.

استكشف الحلول

الرؤية الحاسوبية في الرياضة

الرؤية الحاسوبية في الرياضة

اكتشف كيف يعزّز Ultralytics YOLO الرؤية الحاسوبية الرياضية عبر تتبّع اللاعبين والكرة، وتحليلات الأداء، ورؤى التدريب، وإعادة تأهيل الرياضيين.
معرفة المزيد
الرؤية الحاسوبية للصور الجوية

الرؤية الحاسوبية للصور الجوية

حوّل صور الطائرات المسيّرة والصور الجوية إلى رؤى آنية للزراعة وتربية الأحياء المائية والحفاظ على البيئة والتحليل الجغرافي المكاني باستخدام Ultralytics YOLO.
معرفة المزيد
الرؤية الحاسوبية في قطاع الطيران والفضاء

الرؤية الحاسوبية في قطاع الطيران والفضاء

طبّق الرؤية الحاسوبية في مجال الطيران والفضاء باستخدام Ultralytics YOLO لفحص الطائرات، واكتشاف الأجسام الغريبة على المدارج (FOD)، والعمليات الأرضية في المطارات، واكتشاف عيوب المواد المركّبة.
معرفة المزيد
الرؤية الحاسوبية في مجال الأمن

الرؤية الحاسوبية في مجال الأمن

احمِ كل موقع باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري مراقبة المحيط، واكتشاف التهديدات، والتعرف على لوحات المركبات، والسلامة في مكان العمل.
معرفة المزيد
الرؤية الحاسوبية في الروبوتات

الرؤية الحاسوبية في الروبوتات

عزّز أداء الآلات الذكية باستخدام نماذج Ultralytics YOLO. يدعم الذكاء الاصطناعي البصري في الروبوتات الملاحة الذاتية والإدراك وتعقب الأجسام والتحكم الآني.
معرفة المزيد
الرؤية الحاسوبية في الخدمات اللوجستية

الرؤية الحاسوبية في الخدمات اللوجستية

بسّط العمليات اللوجستية باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري فحص الطرود وفرزها وتتبع المركبات ومراقبة سلامة المستودعات في الوقت الفعلي.
معرفة المزيد
الرؤية الحاسوبية في تجارة التجزئة

الرؤية الحاسوبية في تجارة التجزئة

أعِد تصور تجارة التجزئة باستخدام نماذج Ultralytics YOLO. يتيح الذكاء الاصطناعي البصري تتبع المخزون ومراقبة الرفوف وإدارة الطوابير واستخلاص رؤى أذكى عن العملاء.
معرفة المزيد
الرؤية الحاسوبية في الرعاية الصحية

الرؤية الحاسوبية في الرعاية الصحية

أنشئ حلولًا للرعاية الصحية باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي البصري في الرعاية الصحية سرعة التصوير الطبي، وكفاءة التشخيص، ومراقبة المرضى.
معرفة المزيد
الرؤية الحاسوبية في التصنيع

الرؤية الحاسوبية في التصنيع

حسّن التصنيع باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية مراقبة الجودة واكتشاف العيوب والالتزام بمعدات الوقاية الشخصية وأتمتة خطوط التجميع.
معرفة المزيد
الرؤية الحاسوبية في قطاع السيارات

الرؤية الحاسوبية في قطاع السيارات

طبّق الرؤية الحاسوبية في قطاع السيارات باستخدام نماذج Ultralytics YOLO. يعزز الذكاء الاصطناعي للرؤية سلامة الطرق ومساعدة السائق وأتمتة المركبات لإنشاء طرق أكثر ذكاءً.
معرفة المزيد
الرؤية الحاسوبية في الزراعة

الرؤية الحاسوبية في الزراعة

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

لنبنِ مستقبل الذكاء الاصطناعي معًا!

ابدأ رحلتك نحو مستقبل تعلّم الآلة