ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ MLflow Π΄Π»Ρ Ultralytics YOLO
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ² - Π²Π°ΠΆΠ½ΡΠΉ Π°ΡΠΏΠ΅ΠΊΡ ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ»ΡΡΡΠΈΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΡΠ»Π°Π΄ΠΈΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Ultralytics YOLO, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ MLflow, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
ΠΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ MLflow Π΄Π»Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ultralytics YOLO.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ MLflow?
MLflow - ΡΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Databricks Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΠ²ΠΎΠ·Π½ΡΠΌ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ. ΠΠ½Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ², ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ΄Π° Π² Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΡΠΎΠ³ΠΎΠ½Ρ, ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. MLflow ΡΠ°ΡΡΡΠΈΡΠ°Π½Π° Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ Π»ΡΠ±ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΠΌΠ΅ΡΡΠΈΠΊ: ΠΠ΅Π΄ΠΈ ΠΆΡΡΠ½Π°Π» ΠΌΠ΅ΡΡΠΈΠΊ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΏΠΎΡ ΠΈ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΠΆΡΡΠ½Π°Π» Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠ΅.
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ²: ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ Π²Π΅Π΄ΠΈ ΠΆΡΡΠ½Π°Π» Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π΅ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ
Π£Π±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ MLflow ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip:
Π£Π±Π΅Π΄ΠΈΡΡ, ΡΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
Ultralytics Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° MLflow. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ 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 Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ 'runs/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), Π²ΡΠ±ΠΈΡΠ°ΠΉ ΡΠ²ΠΎΠΉ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΠΉ.
-
Π‘ΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅Π³: ΠΡΠΎΠ³ΠΎΠ½Ρ - ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°. ΠΠ»ΠΈΠΊΠ½ΠΈ Π½Π° Run ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΡ Π΄Π΅ΡΠ°Π»ΠΈ Run, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΈ Π²Π΅ΡΠ° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ 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 ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ:
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΠΌΠ΅ΡΡΠΈΠΊ: ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΠΉ ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΏΠΎΡ ΠΈ ΠΈ ΠΏΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²: ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π² ΠΆΡΡΠ½Π°Π» Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
- ΠΠ΅Π΄Π΅Π½ΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ²: Π‘ΠΎΡ ΡΠ°Π½ΡΠΉ Π°ΡΡΠ΅ΡΠ°ΠΊΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π΅ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΏΠΎΡΠ»Π΅ ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΡ ΠΊ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ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 Integration for Ultralytics YOLO .
Π‘ΠΎΠ·Π΄Π°Π½ΠΎ 2023-11-12, ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ 2024-07-05
ΠΠ²ΡΠΎΡΡ: glenn-jocher (8), Burhan-Q (1)