انتقل إلى المحتوى

تكامل MLflow ل Ultralytics YOLO

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

مقدمة

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

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

ما هو MLflow؟

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

ملامح

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

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

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

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

تعطيل 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 .



تم الإنشاء 2023-11-12-2023، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (8)، برهان-ق (1)

التعليقات