تخطي إلى المحتوى

تكامل MLflow لـ Ultralytics YOLO

النظام البيئي MLflow

مقدمة

يعد تسجيل التجارب جانبًا حاسمًا في مهام سير عمل تعلم الآلة الذي يتيح تتبع المقاييس والمعلمات والنتائج المختلفة. فهو يساعد على تحسين إمكانية إعادة إنتاج النموذج وتصحيح المشكلات وتحسين أداء النموذج. تقدم Ultralytics YOLO، المعروفة بقدرات اكتشاف الكائنات في الوقت الفعلي، الآن تكاملًا مع MLflow، وهي منصة مفتوحة المصدر لإدارة دورة حياة تعلم الآلة الكاملة.

صفحة الوثائق هذه هي دليل شامل لإعداد واستخدام إمكانات تسجيل MLflow لمشروع Ultralytics YOLO الخاص بك.

ما هو MLflow؟

MLflow عبارة عن نظام أساسي مفتوح المصدر تم تطويره بواسطة Databricks لإدارة دورة حياة تعلم الآلة الشاملة. يتضمن أدوات لتتبع التجارب وتعبئة التعليمات البرمجية في عمليات تشغيل قابلة للتكرار ومشاركة ونشر النماذج. تم تصميم MLflow للعمل مع أي مكتبة لتعلم الآلة ولغة برمجة.

الميزات

  • تسجيل المقاييس: يسجل المقاييس في نهاية كل حقبة وفي نهاية التدريب.
  • تسجيل المعلمات: يسجل جميع المعلمات المستخدمة في التدريب.
  • تسجيل النتائج: يسجل نتائج النموذج، بما في ذلك الأوزان وملفات التكوين، في نهاية التدريب.

الإعداد والمتطلبات الأساسية

تأكد من تثبيت MLflow. إذا لم يكن كذلك، فقم بتثبيته باستخدام pip:

pip install mlflow

تأكد من تمكين تسجيل MLflow في إعدادات Ultralytics. عادة، يتم التحكم في ذلك عن طريق الإعدادات mlflow مفتاح. انظر الإعدادات للمزيد من المعلومات، يرجى زيارة الصفحة.

تحديث إعدادات Ultralytics MLflow

داخل بيئة python، استدعِ طريقة update على الكائن settings لتغيير إعداداتك:

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()

إذا كنت تفضل استخدام واجهة سطر الأوامر، فستسمح لك الأوامر التالية بتعديل إعداداتك:

# Update a setting
yolo settings mlflow=True

# Reset settings to default values
yolo settings reset

كيفية الاستخدام

الأوامر

  1. تعيين اسم المشروع: يمكنك تعيين اسم المشروع عبر متغير البيئة:

    export MLFLOW_EXPERIMENT_NAME=YOUR_EXPERIMENT_NAME
    

    أو استخدم الوسيطة project=<project> عند تدريب نموذج YOLO، على سبيل المثال: yolo train project=my_project.

  2. تعيين اسم التشغيل: على غرار تعيين اسم المشروع، يمكنك تعيين اسم التشغيل عبر متغير البيئة:

    export MLFLOW_RUN=YOUR_RUN_NAME
    

    أو استخدم الوسيطة name=<name> عند تدريب نموذج YOLO، على سبيل المثال: yolo train project=my_project name=my_name.

  3. بدء تشغيل خادم MLflow محليًا: لبدء التتبع، استخدم:

    mlflow server --backend-store-uri runs/mlflow
    

    سيؤدي هذا إلى بدء تشغيل خادم محلي على http://127.0.0.1:5000 افتراضيًا وحفظ جميع سجلات mlflow في الدليل 'runs\/mlflow'. لتحديد URI مختلف، قم بتعيين MLFLOW_TRACKING_URI متغير البيئة.

  4. إيقاف مثيلات خادم MLflow: لإيقاف جميع مثيلات MLflow قيد التشغيل، قم بتشغيل:

    ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9
    

تسجيل البيانات

تتولى وظائف on_pretrain_routine_end, on_fit_epoch_end، و on_train_end دوال الاستدعاء. يتم استدعاء هذه الدوال تلقائيًا خلال المراحل الخاصة بعملية التدريب، وهي تعالج تسجيل المعلمات والمقاييس والنتائج.

أمثلة

  1. تسجيل المقاييس المخصصة: يمكنك إضافة مقاييس مخصصة ليتم تسجيلها عن طريق تعديل قاموس trainer.metrics قبل استدعاء on_fit_epoch_end .

  2. عرض التجربة: لعرض سجلاتك، انتقل إلى خادم MLflow الخاص بك (عادةً http://127.0.0.1:5000) وحدد تجربتك وتشغيلك. تجربة YOLO MLflow

  3. عرض التشغيل: عمليات التشغيل هي نماذج فردية داخل تجربة. انقر فوق تشغيل لرؤية تفاصيل التشغيل، بما في ذلك النتائج التي تم تحميلها وأوزان النموذج. تشغيل YOLO MLflow

تعطيل MLflow

لإيقاف تشغيل تسجيل MLflow:

yolo settings mlflow=False

الخلاصة

يوفر تكامل تسجيل MLflow مع Ultralytics YOLO طريقة مبسطة لتتبع تجارب تعلم الآلة. فهو يمكّنك من مراقبة مقاييس الأداء وإدارة البيانات الاصطناعية بشكل فعال، وبالتالي المساعدة في تطوير ونشر النماذج القوية. لمزيد من التفاصيل، يرجى زيارة الوثائق الرسمية لـ MLflow.

الأسئلة الشائعة

كيف يمكنني إعداد تسجيل MLflow باستخدام Ultralytics YOLO؟

لإعداد تسجيل MLflow مع Ultralytics YOLO، تحتاج أولاً إلى التأكد من تثبيت MLflow. يمكنك تثبيته باستخدام pip:

pip install mlflow

بعد ذلك، قم بتمكين تسجيل MLflow في إعدادات Ultralytics. يمكن التحكم في ذلك باستخدام مفتاح mlflow للمزيد من المعلومات، راجع دليل الإعدادات.

تحديث إعدادات Ultralytics MLflow

from ultralytics import settings

# Update a setting
settings.update({"mlflow": True})

# Reset settings to default values
settings.reset()
# Update a setting
yolo settings mlflow=True

# Reset settings to default values
yolo settings reset

أخيرًا، ابدأ خادم MLflow محلي للتتبع:

mlflow server --backend-store-uri runs/mlflow

ما هي المقاييس والمعلمات التي يمكنني تسجيلها باستخدام MLflow مع Ultralytics YOLO؟

يدعم Ultralytics YOLO مع MLflow تسجيل مختلف المقاييس والمعلمات والنتائج طوال عملية التدريب:

  • تسجيل المقاييس: يتتبع المقاييس في نهاية كل حقبة (epoch) وعند الانتهاء من التدريب.
  • تسجيل المعلمات: يسجل جميع المعلمات المستخدمة في عملية التدريب.
  • تسجيل النتائج: يحفظ نتائج النموذج مثل الأوزان وملفات التكوين بعد التدريب.

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

هل يمكنني تعطيل تسجيل MLflow بمجرد تمكينه؟

نعم، يمكنك تعطيل تسجيل MLflow لـ Ultralytics YOLO عن طريق تحديث الإعدادات. إليك كيفية القيام بذلك باستخدام واجهة الأوامر (CLI):

yolo settings mlflow=False

لمزيد من التخصيص وإعادة تعيين الإعدادات، ارجع إلى دليل الإعدادات.

كيف يمكنني بدء وإيقاف خادم MLflow لتتبع Ultralytics YOLO؟

لبدء خادم MLflow لتتبع تجاربك في Ultralytics YOLO، استخدم الأمر التالي:

mlflow server --backend-store-uri runs/mlflow

يبدأ هذا الأمر خادمًا محليًا على http://127.0.0.1:5000 بشكل افتراضي. إذا كنت بحاجة إلى إيقاف تشغيل مثيلات خادم MLflow، فاستخدم أمر bash التالي:

ps aux | grep 'mlflow' | grep -v 'grep' | awk '{print $2}' | xargs kill -9

راجع قسم الأوامر لمزيد من خيارات الأوامر.

ما هي فوائد دمج MLflow مع Ultralytics YOLO لتتبع التجارب؟

يوفر دمج MLflow مع Ultralytics YOLO العديد من الفوائد لإدارة تجارب تعلم الآلة الخاصة بك:

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

لإلقاء نظرة متعمقة على إعداد MLflow والاستفادة منه مع Ultralytics YOLO، استكشف وثائق تكامل MLflow لـ Ultralytics YOLO.



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 3 أشهر

تعليقات