ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ MLflow для Ultralytics YOLO

ЭкосистСма MLflow

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ экспСримСнтов - Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов машинного обучСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Ultralytics YOLO, извСстный своими возмоТностями обнаруТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с MLflow, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ управлСния ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ машинного обучСния.

Π­Ρ‚Π° страница Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ прСдставляСт собой ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰Π΅Π΅ руководство ΠΏΠΎ настройкС ΠΈ использованию возмоТностСй протоколирования MLflow для Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ultralytics YOLO.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ MLflow?

MLflow - это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, разработанная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Databricks для управлСния сквозным ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ машинного обучСния. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя инструмСнты для отслСТивания экспСримСнтов, ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ΄Π° Π² воспроизводимыС ΠΏΡ€ΠΎΠ³ΠΎΠ½Ρ‹, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ развСртывания ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. MLflow рассчитана Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с любой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ машинного обучСния ΠΈ языком программирования.

Π₯арактСристики

  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ: Π’Π΅Π΄ΠΈ ΠΆΡƒΡ€Π½Π°Π» ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ эпохи ΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ.
  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²: ЗаписываСт Π² ΠΆΡƒΡ€Π½Π°Π» всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠ΅.
  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ²: По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π²Π΅Π΄ΠΈ ΠΆΡƒΡ€Π½Π°Π» Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ вСса ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹.

Установка ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия

УбСдись, Ρ‡Ρ‚ΠΎ MLflow установлСн. Если Π½Π΅Ρ‚, установи Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip:

pip install mlflow

УбСдись, Ρ‡Ρ‚ΠΎ Π² настройках Ultralytics Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡƒΡ€Π½Π°Π»Π° MLflow. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это контролируСтся настройками 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. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π±Π΅Π³: ΠŸΡ€ΠΎΠ³ΠΎΠ½Ρ‹ - это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ экспСримСнта. Кликни Π½Π° Run ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡˆΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ Run, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ ΠΈ вСса ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. 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 Integration for Ultralytics YOLO .



Боздано 2023-11-12, ОбновлСно 2024-07-05
Авторы: glenn-jocher (8), Burhan-Q (1)

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ