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

تكامل MLflow لـ Ultralytics YOLO

نظام MLflow البيئي

مقدمة

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

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

ما هو MLflow؟

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

الميزات

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

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

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

pip install mlflow

تأكد من تمكين تسجيل MLflow في إعدادات Ultralytics . عادةً ما يتم التحكم في ذلك من خلال الإعدادات mflow المفتاح. انظر إلى الإعدادات للمزيد من المعلومات

تحديث 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 runs_dir='/path/to/runs'

# 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 في دليل "run/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 Run

تعطيل 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 runs_dir='/path/to/runs'

# Reset settings to default values
yolo settings reset

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

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

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

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

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

للحصول على معلومات أكثر تفصيلاً، يرجى زيارة وثائق التتبع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 .

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 شهر

التعليقات