рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

ClearML рдПрдХреАрдХрд░рдг

Clear|MLClear|ML

рдХрд░реАрдмрди ClearML

ClearML рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдЯреВрд▓рдмреЙрдХреНрд╕ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд╕рдордп тП▒я╕П рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

ЁЯФи рд╣рд░ рдЯреНрд░реИрдХ рдХрд░реЗрдВ YOLOv5 рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

ЁЯФз рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдПрдХреАрдХреГрдд рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд╕реНрдЯрдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рддрдХ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╣реБрдВрдЪреЗрдВ ClearML рдбреЗрдЯрд╛ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдЯреВрд▓

ЁЯФж рджреВрд░ рд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░реЗрдВ YOLOv5 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рддрд╛ рд╣реИ ClearML рдЖрдврд╝рддрд┐рдпрд╛

ЁЯФм рд╡рд╛рдкрд░реВрди рд╕рд░реНрд╡реЛрддреНрддрдо mAP рдорд┐рд│рд╡рд╛ ClearML рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдХреВрд▓рди

ЁЯФн рдЕрдкрдиреЗ рдирдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ YOLOv5 рдХреЗрд╡рд▓ рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдореЙрдбрд▓ ClearML рд╕реЗрд╡рд╛рд░рдд


рдФрд░ рдЗрддрдирд╛ рдЕрдзрд┐рдХред рдпрд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЙрди рд╕рднреА рдХреЛ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдПрдХ рд╕рд╛рде рдЪреЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

ClearML рд╕реНрдХреЗрд▓рд░ рдбреИрд╢рдмреЛрд░реНрдб



ЁЯж╛ рдЪреАрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░/рдпрд╛ рдбреЗрдЯрд╛ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, ClearML рдПрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдХ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ 2 рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

рдпрд╛ рддреЛ рдореБрдлреНрдд рдореЗрдВ рд╕рд╛рдЗрди рдЕрдк рдХрд░реЗрдВ ClearML рд╣реЛрд╕реНрдЯ рдХреА рдЧрдИ рд╕реЗрд╡рд╛ рдпрд╛ рдЖрдк рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рд░реНрд╡рд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рд╕рд░реНрд╡рд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ, рдЗрд╕рд▓рд┐рдП рднрд▓реЗ рд╣реА рдЖрдк рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рд╕реЗ рдирд┐рдкрдЯ рд░рд╣реЗ рд╣реЛрдВ, рдЖрдкрдХреЛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП!

  • рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ clearml python рдкреИрдХреЗрдЬ:

    pip install clearml
    
  • рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ ClearML рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдмрдирд╛рдХрд░ рд╕рд░реНрд╡рд░ рдкрд░ SDK рдЯреВрд▓ (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ -> Workspace -> рдирдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдКрдкрд░ рдЬрд╛рдПрдВ), рдлрд┐рд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:

    clearml-init
    

рдмрд╕! рдЖрдкрдХрд╛ рдХрд╛рдо рд╣реЛ рдЧрдпрд╛ ЁЯШО


ЁЯЪА рдкреНрд░рд╢рд┐рдХреНрд╖рдг YOLOv5 рдХреЗ рд╕рд╛рде ClearML

рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ClearML рдкреНрд░рдпреЛрдЧ рдЯреНрд░реИрдХрд┐рдВрдЧ, рдмрд╕ ClearML рдкрд╛рдЗрдк рдкреИрдХреЗрдЬред

pip install clearml>=1.2.0

рдпрд╣ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛ YOLOv5 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯред рдЕрдм рд╕реЗ рдЪрд▓рд╛рдП рдЬрд╛ рд░рд╣реЗ рд╣рд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЛ рдХреИрдкреНрдЪрд░ рдФрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ClearML рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХред

рдпрджрд┐ рдЖрдк рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ project_name рдирд╣реАрдВ рддреЛ task_name, рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ --project рдФрд░ --name рдХреЗ рддрд░реНрдХ train.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ YOLOv5 рдФрд░ рдХрд╛рд░реНрдп Training. рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: ClearML рдЙрдкрдпреЛрдЧ / рдЙрдкрдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ / рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдореЗрдВ!

python train.py --img 640 --batch 16 --epochs 3 --data coco8.yaml --weights yolov5s.pt --cache

рдпрд╛ рдХрд╕реНрдЯрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдФрд░ рдХрд╛рд░реНрдп рдирд╛рдо рдХреЗ рд╕рд╛рде:

python train.py --project my_project --name my_training --img 640 --batch 16 --epochs 3 --data coco8.yaml --weights yolov5s.pt --cache

рдпрд╣ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдЧрд╛:

  • рд╕реНрд░реЛрдд рдХреЛрдб + рдкреНрд░рддрд┐рдмрджреНрдз рдкрд░рд┐рд╡рд░реНрддрди
  • рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ
  • (рд╣рд╛рдЗрдкрд░) рдкреИрд░рд╛рдореАрдЯрд░
  • рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ (рдЙрдкрдпреЛрдЧ --save-period n рд╣рд░ рдПрди рдпреБрдЧ рдореЗрдВ рдПрдХ рдЪреМрдХреА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)
  • рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ
  • рд╕реНрдХреЗрд▓рд░ (mAP_0.5, mAP_0.5:0.95, рд╕рдЯреАрдХ, рдпрд╛рдж, рдиреБрдХрд╕рд╛рди, рд╕реАрдЦрдиреЗ рдХреА рджрд░, ...)
  • рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдЬреИрд╕реЗ рдорд╢реАрди рд╡рд┐рд╡рд░рдг, рд░рдирдЯрд╛рдЗрдо, рдирд┐рд░реНрдорд╛рдг рддрд┐рдерд┐ рдЖрджрд┐ред
  • рд╕рднреА рдЙрддреНрдкрд╛рджрд┐рдд рднреВрдЦрдВрдб рдЬреИрд╕реЗ рд▓реЗрдмрд▓ рдХреЛрд░рд┐рд▓реЛрдЧреНрд░рд╛рдо рдФрд░ рднреНрд░рдо рдореИрдЯреНрд░рд┐рдХреНрд╕
  • рдкреНрд░рддрд┐ рдпреБрдЧ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЫрд╡рд┐рдпрд╛рдВ
  • рдореЛрдЬрд╝реЗрдХ рдкреНрд░рддрд┐ рдпреБрдЧ
  • Validation images per epoch

рдпрд╣ рдмрд╣реБрдд рд╕рд╣реА рд╣реИ? ЁЯдп рдЕрдм, рд╣рдо рдЗрд╕ рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ClearML рдпреВрдЖрдИ рд╣рдорд╛рд░реА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкреНрд░рдЧрддрд┐ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рддрд╛рд▓рд┐рдХрд╛ рджреГрд╢реНрдп рдореЗрдВ рдХрд╕реНрдЯрдо рд╕реНрддрдВрдн рдЬреЛрдбрд╝реЗрдВ (рдЙрджрд╛. mAP_0.5) рддрд╛рдХрд┐ рдЖрдк рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбрд▓ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХреЗрдВ. рдпрд╛ рдХрдИ рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рд╕реАрдзреЗ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ!

рд╡рд╣рд╛рдБ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╣рдо рдЗрд╕ рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдХреВрд▓рди рдФрд░ рджреВрд░рд╕реНрде рдирд┐рд╖реНрдкрд╛рджрди, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдкрдврд╝рддреЗ рд░рд╣реЗрдВ!

ЁЯФЧ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрди

рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рд╕реЗ рдЕрд▓рдЧ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЖрдИрдбреА рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ред рдЙрд╕рдХреЗ рдЖрдЧреЗ, рдпрд╣ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдЖрдИрдбреА рдХреЛ рдХрд╛рд░реНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рд╕рд╣реЗрдЬрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рд╣рдореЗрд╢рд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдХрд┐рд╕ рдкреНрд░рдпреЛрдЧ рдореЗрдВ рдХрд┐рд╕ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛!

ClearML рдбреЗрдЯрд╛рд╕реЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕

рдЕрдкрдирд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ

рд╡рд╣реА YOLOv5 рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЙрдирдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ../datasets рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ coco128 рдбреЗрдЯрд╛рд╕реЗрдЯ YAML рдореЗрдВ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде yolov5, рдЖрдкрдХреЛ рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓рддреА рд╣реИ:

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ LICENSE
        |_ README.txt

рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рдХреЛрдИ рднреА рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдЬрдм рддрдХ рдЖрдк рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдмрд╛рдж, тЪая╕Прд╕рдВрдмрдВрдзрд┐рдд YAML рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░тЪая╕П рдХреЗ рд░реВрдЯ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред рдЗрд╕ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ ClearML рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдареАрдХ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЙрджрд╛рд╣рд░рдг YAMLs рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред

рдореВрд▓ рд░реВрдк рд╕реЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: path, train, test, val, nc, names.

..
|_ yolov5
|_ datasets
    |_ coco128
        |_ images
        |_ labels
        |_ coco128.yaml  # <---- HERE!
        |_ LICENSE
        |_ README.txt

рдЕрдкрдирд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ

рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ClearML рдПрдХ versioned рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, DataSet рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрдБ:

cd coco128
clearml-data sync --project YOLOv5 --name coco128 --folder .

рдЖрджреЗрд╢ clearml-data sync рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХрдорд╛рдВрдб рд╣реИред рдЖрдк рдЗрди рдЖрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рдХреЗ рдмрд╛рдж рдПрдХ рднреА рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

# Optionally add --parent <parent_dataset_id> if you want to base
# this version on another dataset version, so no duplicate files are uploaded!
clearml-data create --name coco128 --project YOLOv5
clearml-data add --files .
clearml-data close

рдП рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ ClearML рдбреЗрдЯрд╛рд╕реЗрдЯ

рдЕрдм рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ ClearML рдбреЗрдЯрд╛рд╕реЗрдЯ, рдЖрдк рдХрд╕реНрдЯрдо рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ YOLOv5 ЁЯЪА рдореЙрдбрд▓!

python train.py --img 640 --batch 16 --epochs 3 --data clearml://<your_dataset_id> --weights yolov5s.pt --cache


ЁЯСА рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдЕрдиреБрдХреВрд▓рди

рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рдорд╛рд░реЗ рдкреНрд░рдпреЛрдЧ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рддреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рд╣рдо рд╢реАрд░реНрд╖ рдкрд░ рдХреНрдпрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ!

рдХреЛрдб рдЬрд╛рдирдХрд╛рд░реА, рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рдпреЛрдЧ рд╕реНрд╡рдпрдВ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ClearML рдЖрдкрдХреЛ рдПрдХ рдкреНрд░рдпреЛрдЧ рдХреНрд▓реЛрди рдХрд░рдиреЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ рдХрд┐ рдЗрд╕рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рдЗрди рдирдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдЪрдкреАрдУ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ!

рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рдХреА рд╣реИред рдмрд╕ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдп рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ClearML рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХ, рд╣рдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХреНрд▓реЛрди рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред

рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрдИрдбреА рднрд░рдиреА рд╣реЛрдЧреА template task рдкрд░ рдкрд╛рдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ utils/loggers/clearml/hpo.py рдФрд░ рдлрд┐рд░ рдмрд╕ рдЗрд╕реЗ рдЪрд▓рд╛рдПрдВ :) рдЖрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ task.execute_locally() рддрдХ task.execute() рдЗрд╕реЗ рдПрдХ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП ClearML рдХрддрд╛рд░ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рджреВрд░рд╕реНрде рдПрдЬреЗрдВрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

# To use optuna, install it first, otherwise you can change the optimizer to just be RandomSearch
pip install optuna
python utils/loggers/clearml/hpo.py

рдПрдЪрдкреАрдУ

ЁЯдп рджреВрд░рд╕реНрде рдирд┐рд╖реНрдкрд╛рджрди (рдЙрдиреНрдирдд)

рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдПрдЪрдкреАрдУ рдЪрд▓рд╛рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдореЛрдЯ рдорд╢реАрди рдкрд░ рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА GPU рдорд╢реАрди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛ, рдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЙрдб GPU рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдмрдЬрдЯ рд╣реЛред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ ClearML рдПрдЬреЗрдВрдЯ рдЦреЗрд▓ рдореЗрдВ рдЖрддрд╛ рд╣реИред рджреЗрдЦреЗрдВ рдХрд┐ рдПрдЬреЗрдВрдЯ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХ рджреНрд╡рд╛рд░рд╛ рдЯреНрд░реИрдХ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдпреЛрдЧ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдорд╢реАрди (рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ, рдЕрдкреНрд░рддрд┐рдмрджреНрдз рдкрд░рд┐рд╡рд░реНрддрди рдЖрджрд┐) рдкрд░ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рддреЛ рдПрдХ ClearML рдПрдЬреЗрдВрдЯ рдмрд╕ рдпрд╣реА рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрддрд╛рд░ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдЬрдм рдпрд╣ рдПрдХ рдкрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдпреЛрдЧ рдкреНрд░рдмрдВрдзрдХ рдХреЛ рд╕реНрдХреЗрд▓рд░, рдкреНрд▓реЙрдЯ рдЖрджрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИред

рдЖрдк рдХрд┐рд╕реА рднреА рдорд╢реАрди (рдХреНрд▓рд╛рдЙрдб рд╡реАрдПрдо, рд╕реНрдерд╛рдиреАрдп рдЬреАрдкреАрдпреВ рдорд╢реАрди, рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк ...) рдХреЛ рдПрдХ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ ClearML рдмрд╕ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдПрдЬреЗрдВрдЯ:

clearml-agent daemon --queue <queues_to_listen_to> [--docker]

рдХреНрд▓реЛрдирд┐рдВрдЧ, рд╕рдВрдкрд╛рджрди рдФрд░ рдПрдирдХреНрдпреВрдЗрдВрдЧ

рд╣рдорд╛рд░реЗ рдПрдЬреЗрдВрдЯ рдХреЗ рдЪрд▓рдиреЗ рдХреЗ рд╕рд╛рде, рд╣рдо рдЗрд╕реЗ рдХреБрдЫ рдХрд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рдПрдЪрдкреАрдУ рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╣рдо рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рднреА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

ЁЯкД рдкреНрд░рдпреЛрдЧ рдХреЛ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЙрд╕рдХрд╛ рдХреНрд▓реЛрди рдмрдирд╛рдПрдВ

ЁЯОп рд╣рд╛рдЗрдкрд░рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ

тП│ рдХрд╛рд░реНрдп рдХреЛ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдХреНрдпреВ рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ

UI рд╕реЗ рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рд╕рдВрд▓рдЧреНрди рдХрд░рдирд╛

рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЛ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛

рдЕрдм рдЖрдк рдПрдХ рдХрд╛рд░реНрдп рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╣рдордиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИ, рдпрд╛ рдмрд╕ рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдВ task.execute_remotely() рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдЗрд╕реЗ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рддрд╛рдХрд┐ рдПрдЬреЗрдВрдЯ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗ!

рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП YOLOv5 рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдмрд╕ рдЗрддрдирд╛ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ training.py рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ clearml рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ рддрддреНрдХрд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

# ...
# Loggers
data_dict = None
if RANK in {-1, 0}:
    loggers = Loggers(save_dir, weights, opt, hyp, LOGGER)  # loggers instance
    if loggers.clearml:
        loggers.clearml.task.execute_remotely(queue="my_queue")  # <------ ADD THIS LINE
        # Data_dict is either None is user did not choose for ClearML dataset or is filled in by ClearML
        data_dict = loggers.clearml.data_dict
# ...

рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╕рдордп, python рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЙрд╕ рд▓рд╛рдЗрди рддрдХ рдЪрд▓рд╛рдПрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдпрд╣ рдХреЛрдб рдХреЛ рдкреИрдХреЗрдЬ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬ рджреЗрдЧрд╛!

рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛

ClearML рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рдХреЗ рд╕рд╛рде рднреА рдЖрддрд╛ рд╣реИ! рдпрд╣ рдЯреВрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдкрд╕рдВрдж рдХреЗ рдХреНрд▓рд╛рдЙрдб (AWS, GCP, Azure) рдореЗрдВ рдирдИ рд░рд┐рдореЛрдЯ рдорд╢реАрдиреЛрдВ рдХреЛ рд╕реНрдкрд┐рди рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ ClearML рдЬрдм рднреА рдХрддрд╛рд░ рдореЗрдВ рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдЬреЗрдВрдЯред рдПрдХ рдмрд╛рд░ рдХрд╛рд░реНрдп рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдСрдЯреЛрд╕реНрдХреЗрд▓рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджреВрд░рд╕реНрде рдорд╢реАрдиреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рдФрд░ рдЖрдк рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ!

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдСрдЯреЛрд╕реНрдХреЗрд▓рд░реНрд╕ рдХреЛ рд╡реАрдбрд┐рдпреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ



2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-04-18
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (6), рд░рд┐рдЬрд╡рд╛рдирдореБрдирд╡реНрд╡рд░ (1)

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ