تكامل MLflow ل Ultralytics YOLO
مقدمة
Experiment logging is a crucial aspect of machine learning workflows that enables tracking of various metrics, parameters, and artifacts. It helps to enhance model reproducibility, debug issues, and improve model performance. Ultralytics YOLO, known for its real-time object detection capabilities, now offers integration with MLflow, an open-source platform for complete machine learning lifecycle management.
صفحة الوثائق هذه هي دليل شامل لإعداد واستخدام إمكانات تسجيل MLflow ل Ultralytics YOLO مشروع.
ما هو MLflow؟
MLflow عبارة عن نظام أساسي مفتوح المصدر تم تطويره بواسطة Databricks لإدارة دورة حياة التعلم الآلي الشاملة. يتضمن أدوات لتتبع التجارب ، وتجميع التعليمات البرمجية في عمليات تشغيل قابلة للتكرار ، ومشاركة النماذج ونشرها. تم تصميم MLflow للعمل مع أي مكتبة للتعلم الآلي ولغة برمجة.
ملامح
- تسجيل المقاييس: يسجل المقاييس في نهاية كل حقبة وفي نهاية التدريب.
- تسجيل المعلمات: يسجل جميع المعلمات المستخدمة في التدريب.
- تسجيل القطع الأثرية: يسجل عناصر النموذج، بما في ذلك الأوزان وملفات التكوين، في نهاية التدريب.
الإعداد والمتطلبات الأساسية
تأكد من تثبيت MLflow. إذا لم يكن كذلك ، فقم بتثبيته باستخدام النقطة:
تأكد من تمكين تسجيل MLflow في Ultralytics اعدادات. عادة ، يتم التحكم في هذا من خلال الإعدادات mflow
مفتاح. انظر اعدادات لمزيد من المعلومات.
تحديث Ultralytics إعدادات MLflow
ضمن Python البيئة، اتصل ب update
الطريقة على settings
الاعتراض على تغيير إعداداتك:
كيفية الاستخدام
الاوامر
-
تعيين اسم المشروع: يمكنك تعيين اسم المشروع عبر متغير بيئة:
أو استخدم الزر
project=<project>
حجة عند تدريب أ YOLO نموذج ، أيyolo train project=my_project
. -
تعيين اسم تشغيل: على غرار تعيين اسم المشروع ، يمكنك تعيين اسم التشغيل عبر متغير بيئة:
أو استخدم الزر
name=<name>
حجة عند تدريب أ YOLO نموذج ، أيyolo train project=my_project name=my_name
. -
بدء تشغيل خادم MLflow المحلي: لبدء التتبع، استخدم:
سيؤدي هذا إلى بدء تشغيل خادم محلي على http://127.0.0.1:5000 افتراضيًا وحفظ جميع سجلات mlflow في دليل "run/mlflow". لتحديد URI مختلف، قم بتعيين الدالة
MLFLOW_TRACKING_URI
متغير البيئة. -
إنهاء مثيلات خادم MLflow: لإيقاف تشغيل جميع مثيلات MLflow، قم بتشغيل:
تسجيل
يتم الاعتناء بالتسجيل من قبل on_pretrain_routine_end
, on_fit_epoch_end
و on_train_end
وظائف رد الاتصال. يتم استدعاء هذه الوظائف تلقائيا خلال المراحل المعنية من عملية التدريب ، وهي تتعامل مع تسجيل المعلمات والمقاييس والتحف.
امثله
-
تسجيل المقاييس المخصصةيمكنك إضافة مقاييس مخصصة ليتم تسجيلها عن طريق تعديل
trainer.metrics
القاموس قبلon_fit_epoch_end
يسمى. -
عرض التجربة: لعرض السجلات الخاصة بك، انتقل إلى خادم MLflow الخاص بك (عادةً ما يكون http://127.0.0.1:5000) وحدد تجربتك وشغّلها.
-
عرض تشغيلعمليات التشغيل هي نماذج فردية داخل تجربة.: انقر فوق تشغيل وشاهد تفاصيل التشغيل ، بما في ذلك القطع الأثرية التي تم تحميلها وأوزان الطراز.
تعطيل MLflow
لإيقاف تشغيل تسجيل MLflow:
استنتاج
تكامل تسجيل MLflow مع Ultralytics YOLO يوفر طريقة مبسطة لتتبع تجارب التعلم الآلي الخاصة بك. يمكنك من مراقبة مقاييس الأداء وإدارة القطع الأثرية بشكل فعال ، مما يساعد في تطوير النموذج القوي ونشره. لمزيد من التفاصيل، يرجى زيارة الوثائق الرسمية ل MLflow.
الأسئلة المتداولة
كيف يمكنني إعداد تسجيل MLflow مع Ultralytics YOLO ؟
لإعداد تسجيل MLflow باستخدام Ultralytics YOLO ، تحتاج أولاً إلى التأكد من تثبيت MLflow. يمكنك تثبيته باستخدام pip:
بعد ذلك، قم بتمكين تسجيل MLflow في إعدادات Ultralytics . يمكن التحكم في ذلك باستخدام mlflow
المفتاح. لمزيد من المعلومات، راجع دليل الإعدادات.
تحديث Ultralytics إعدادات MLflow
وأخيراً، ابدأ تشغيل خادم MLflow محلي للتتبع:
ما المقاييس والمعلمات التي يمكنني تسجيلها باستخدام MLflow مع Ultralytics YOLO ؟
Ultralytics YOLO مع MLflow يدعم تسجيل المقاييس والمعلمات والقطع الأثرية المختلفة طوال عملية التدريب:
- Metrics Logging: Tracks metrics at the end of each epoch and upon training completion.
- تسجيل المعلمات: تسجيل جميع المعلمات المستخدمة في عملية التدريب.
- تسجيل القطع الأثرية: يحفظ القطع الأثرية للنموذج مثل الأوزان وملفات التكوين بعد التدريب.
للحصول على معلومات أكثر تفصيلاً، يرجى زيارة وثائق التتبعUltralytics YOLO .
هل يمكنني تعطيل تسجيل MLflow بمجرد تمكينه؟
نعم، يمكنك تعطيل تسجيل MLflow لـ Ultralytics YOLO عن طريق تحديث الإعدادات. إليك كيفية القيام بذلك باستخدام CLI:
لمزيد من التخصيص وإعادة ضبط الإعدادات، راجع دليل الإعدادات.
كيف يمكنني بدء تشغيل وإيقاف خادم MLflow لتتبع Ultralytics YOLO ؟
لبدء تشغيل خادم MLflow لتتبع تجاربك في Ultralytics YOLO ، استخدم الأمر التالي:
يبدأ هذا الأمر تشغيل خادم محلي على http://127.0.0.1:5000 بشكل افتراضي. إذا كنت بحاجة إلى إيقاف تشغيل مثيلات خادم MLflow، استخدم الأمر التالي bash :
راجع قسم الأوامر لمعرفة المزيد من خيارات الأوامر.
ما هي فوائد دمج MLflow مع Ultralytics YOLO لتتبع التجارب؟
يوفر دمج MLflow مع Ultralytics YOLO العديد من الفوائد لإدارة تجارب التعلم الآلي الخاصة بك:
- تتبع محسّن للتجارب: تتبع ومقارنة التجارب المختلفة ونتائجها بسهولة.
- تحسين قابلية استنساخ النموذج: احرص على أن تكون تجاربك قابلة للتكرار من خلال تسجيل جميع المعلمات والقطع الأثرية.
- مراقبة الأداء: تصور مقاييس الأداء بمرور الوقت لاتخاذ قرارات قائمة على البيانات لتحسين النموذج.
لإلقاء نظرة متعمقة على إعداد MLflow والاستفادة منه مع Ultralytics YOLO ، استكشف وثائق تكامل MLflow لـ Ultralytics YOLO .