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

تكامل 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 في دليل "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.



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (6), Burhan-Q (1)

التعليقات