рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг (DVC): рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдкреНрд░рдпреЛрдЧ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛

рдпрд╣ рдЖрд▓реЗрдЦ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдорд╛рд╕реНрдЯрд░ рд╡рд░реНрдЧ рд╣реИ "рдПрдордПрд▓ рдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрд╡реАрд╕реА", рдЬреЛ 18 рдЬреВрди рдХреЛ рдПрдордПрд▓ рдЖрд░рдкреАрдП (рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдЖрд░рдкреАрдП) рдореЗрдВ рд╣реБрдЖ рдерд╛:
рд╣рдорд╛рд░реЗ рдмреИрдВрдХ рд╕рд╛рдЗрдЯ рдкрд░ Reproducibility, рдкреНрд░рдпреЛрдЧ рдФрд░ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рди)ред

рдпрд╣рд╛рдВ рдореИрдВ рдбреАрд╡реАрд╕реА рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рдо рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред

рд▓реЗрдЦ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ ред рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг MacOS рдФрд░ Linux (Ubuntu) рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рд╕рд╛рдордЧреНрд░реА


рднрд╛рдЧ 1


рднрд╛рдЧ реи


рдбреАрд╡реАрд╕реА рд╕реЗрдЯрдЕрдк


рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдПрдордПрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдореЙрдбрд▓ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕реНрддрд░ рдкрд░ рдФрд░ рдЕрдкрдиреЗ рдореЙрдбрд▓реЛрдВ рдХреЛ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред



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

рдЖрдЗрдП рдЖрдИрд░рд┐рд╕ рд░рдВрдЧ рд╡рд░реНрдЧреАрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреАрд╡реАрд╕реА рдСрдкрд░реЗрд╢рди рдХреЛ рджреЗрдЦреЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдЗрд░рд┐рд╕ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбреАрд╡реАрд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдЬреНрдпреВрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рджреНрд╡рд╛рд░рд╛ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред

рдЖрдкрдХреЛ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

  • рдПрдХ рдХреНрд▓реЛрди рднрдВрдбрд╛рд░;
  • рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдВ;
  • рдЖрд╡рд╢реНрдпрдХ рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
  • DVC рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред

рдЗрд╕рд▓рд┐рдП, рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд▓реЙрдиреНрдЪ рдирд┐рд░реНрджреЗрд╢ README рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╣реИрдВред
1. рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ

git clone https://gitlab.com/7labs.ru/tutorials-dvc/dvc-1-get-started.git cd dvc-1-get-started 

2. рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдПрдВ рдФрд░ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ

 pip install virtualenv virtualenv venv source venv/bin/activate 

3. рдЕрдЬрдЧрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ (рдбреАрд╡реАрд╕реА рд╕рд╣рд┐рдд) рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

 pip install -r requirements.txt 

рдбреАрд╡реАрд╕реА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, pip install dvc рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ DVC dvc init рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ DVC рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ DVC рдХреЗ рдЖрдЧреЗ рдХреЗ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред
4. рдбреЗрдореЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирдИ рд╢рд╛рдЦрд╛ рдЪреЗрдХрдЖрдЙрдЯ рдХрд░реЗрдВ (рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреЛрдВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ)

 git checkout -b dvc-tutorial 

5. рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреАрд╡реАрд╕реА

 dvc init commit dvc init git commit -m "Initialize DVC" 

DVC Git рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред
рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, DVC рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, dvc init рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж dvc init рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП git commit рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

.dvc рдлрд╝реЛрд▓реНрдбрд░ рдЖрдкрдХреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ cache рдФрд░ .dvc рдЭреВрда рд╣реЛрдЧрд╛ред

.dvc рдХреА рд╕рд╛рдордЧреНрд░реА рдЗрд╕ рддрд░рд╣ .dvc рджреЗрдЧреА:

 ./ ../ .gitignore cache/ config 

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди DVC рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдФрд░ рдХреИрд╢ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ DVC рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдбреЗрдЯрд╛ рдФрд░ рдореЙрдбрд▓ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдЧрд╛ред

DVC рдПрдХ .gitignore рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдПрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдм рдЖрдк Git рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ DVC рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрд╕реНрдХрд░рдг рдФрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдпрдВ рдХреИрд╢ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдПрдЧреАред

рдЕрдм рдЖрдкрдХреЛ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдирдИ dvc-tutorial рд╢рд╛рдЦрд╛ рдореЗрдВ рдПрдХ checkout , рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдФрд░ рдЖрдЗрд░рд┐рд╕ рдбрд╛рдЯрд╛рд╕реЗрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

 wget -P data/ https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv 

DVC рд╕реБрд╡рд┐рдзрд╛рдПрдБ


рд╡рд░реНрдЬрдирд┐рдВрдЧ рдореЙрдбрд▓ рдФрд░ рдбреЗрдЯрд╛

рд╕реНрд░реЛрдд рдпрд╣рд╛рдБ рд╣реИ ред

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

dvc add рдХрдорд╛рдВрдб рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред DVC рдПрдХреНрд╕рдЯреЗрдВрд╢рди .dvc рдХреЗ рд╕рд╛рде iris.csv рдореЗрдЯрд╛рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдЧрд╛, рдФрд░ рдХреИрд╢ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦреЗрдЧрд╛ред рдЖрдЗрдП рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╢реБрд░реБрдЖрдд рдХреА рдЬрд╛рдирдХрд╛рд░реА Git рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗред

 dvc add data/iris.csv 

рдЙрддреНрдкрдиреНрди рдбреАрд╡реАрд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░, рдЗрд╕рдХрд╛ рд╣реИрд╢ рдорд╛рдирдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Output - рдбреАрд╡реАрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдбреАрд╡реАрд╕реА рдХреЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдбреЗрдЯрд╛ рд▓реЗрддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреИрд╢ рдореЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреИрд╢ рдХрд╛ рд▓рд┐рдВрдХ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдлрд╛рдЗрд▓ рдХреЛ Git рд╣рд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╡рд░реНрдЬрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдбреАрд╡реАрд╕реА рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЦреБрдж рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рд╣реИрд╢ рдХреЗ рдкрд╣рд▓реЗ рджреЛ рдЕрдХреНрд╖рд░ рдХреИрд╢ рдХреЗ рдЕрдВрджрд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдПрдордПрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рди

рдбреЗрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдкрд╛рдЗрдкрд▓рд╛рдЗрди (рдкрд╛рдЗрдкрд▓рд╛рдЗрди) рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ - рдЧрдгрдирд╛ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛рдПрдВ рдЬрд┐рдирдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЧрдИ рд╣реИред рдпрд╣рд╛рдВ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╣реИ:



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

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреАрд╡реАрд╕реА рдореЗрдВ рдПрдХ рдЕрджреНрднреБрдд dvc run рдХрдорд╛рдВрдб рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдм - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдХреЗрддреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд╛ рд▓реЙрдиреНрдЪ рдЪрд░рдгред рдЖрдЗрдП, рдкрд╣рд▓реЗ рдлреАрдЪрд░рд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдореЛрдбреНрдпреВрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рджреЗрдЦреЗрдВ:

 import pandas as pd def get_features(dataset): features = dataset.copy() # uncomment for step 5.2 Add features # features['sepal_length_to_sepal_width'] = features['sepal_length'] / features['sepal_width'] # features['petal_length_to_petal_width'] = features['petal_length'] / features['petal_width'] return features if __name__ == '__main__': dataset = pd.read_csv('data/iris.csv') features = get_features(dataset) features.to_csv('data/iris_featurized.csv', index=False) 

рдпрд╣ рдХреЛрдб рдбреЗрдЯрд╛рд╕реЗрдЯ рд▓реЗрддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ iris_featurized.csv рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред рд╣рдордиреЗ рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрдХреЗрддреЛрдВ рдХреА рдЧрдгрдирд╛ рдЫреЛрдбрд╝ рджреАред

рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧрдгрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
dvc run ред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, dvc run рдХрдорд╛рдВрдб рдореЗрдВ, рд╕реНрдЯреЗрдЬ_рдлрд┐рдПрдЪрд░_рдПрдХреНрд╕рдЯреНрд░реЗрдХреНрд╢рди.рдбреАрдПрдХреНрд╕ рдореЗрдЯрд╛рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдбреАрд╡реАрд╕реА рдЧрдгрдирд╛ рдЪрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рд┐рдЦ тАЛтАЛрджреЗрдЧрд╛ред -D рддрд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдлрд╝реАрдЪрд░рдХрд░рдг рдУрд░реЛрдореЛ рдореЙрдбреНрдпреВрд▓ рдФрд░ iris.csv рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ред рд╣рдо iris_featurized.csv рдлрд╝рд╛рдЗрд▓ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдХреЗрдд рд╕рд╣реЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЕрдЬрдЧрд░ src / featurization.py рд▓реЙрдиреНрдЪ рдХрдорд╛рдВрдб рд╣реАред

 dvc run -f stage_feature_extraction.dvc \ -d src/featurization.py \ -d data/iris.csv \ -o data/iris_featurized.csv \ python src/featurization.py 

DVC рдкрд╛рдпрдерди рдореЙрдбреНрдпреВрд▓ рдФрд░ iris.csv рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореЗрдЯрд╛рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЯреНрд░реИрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЙрдирдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдбреАрд╡реАрд╕реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЗрд╕ рдЧрдгрдирд╛ рдХрджрдо рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдЧрд╛ред

рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреЗрдЬ_рдлрд┐рдПрдЯ_рдПрдХреНрд╕рдЯреНрд░реИрдХреНрд╢рдиред рдкреАрд╡реАрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрд╕рдХрд╛ рд╣реИрд╢, рд╕реНрдЯрд╛рд░реНрдЯ рдХрдорд╛рдВрдб, рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ (рдЙрдирдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ)ред

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

рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдкреВрд░реЗ рдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдРрд╕реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреАрд╡реАрд╕реА рдПрдХ рд╕рдВрдЧрдгрдирд╛ рдЧреНрд░рд╛рдл (рдбреАрдПрдЬреА) рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдпрд╣ рдкреВрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдпрд╛ рдХреБрдЫ рднрд╛рдЧ рдХреА рдкреБрдирд░реНрдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЪрд░рдг рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рд╣реИрд╢ рджреВрд╕рд░реЗ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдЙрдирдХреЗ рдЕрдиреБрд╕рд╛рд░, рдбреАрд╡реАрд╕реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рд╡рд┐рднрд╛рдЬрди рдХреЛ рдХрд╣реАрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ_рдбреЗрдЯрд╛рд╕реЗрдЯреЗрдо, рдбреАрд╡реАрд╕реА рдбреЗрдЯрд╛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдВрднрд╡рддрдГ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдЪрд░рдг рдФрд░ рдмрд╛рдж рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдЪрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред



рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЯреНрд░реИрдХрд┐рдВрдЧ

dvc metrics show рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╡рд░реНрддрдорд╛рди рд▓реЙрдиреНрдЪ рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рд╣рдо рд╕реНрдерд┐рдд рд╣реИрдВред рдФрд░ рдЕрдЧрд░ рд╣рдо -a рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреАрд╡реАрд╕реА рдЙрди рд╕рднреА рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдЬреЛ рдЧрд┐рдЯ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╣реИрдВред DVC рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдХрд┐рдВрдЧ рдореАрдЯреНрд░рд┐рдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореВрд▓реНрдпрд╛рдВрдХрди рдЪрд░рдг рдмрдирд╛рддреЗ рд╕рдордп, рд╣рдо рдбреЗрдЯрд╛ / eval.txt рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ -m рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, f1 рдФрд░ confusion metrics , рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЪрд░рдг рдХреЗ рдбреАрд╡реАрд╕реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, cache рдФрд░ metrics рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдбреАрд╡реАрд╕реА рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╢реЛ рдХрдорд╛рдВрдб рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП eval.txt рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ред рд╕рд╛рде рд╣реА, рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рддрд░реНрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреЗрд╡рд▓ f1_score рдпрд╛ рдХреЗрд╡рд▓ confusion_matrix рджрд┐рдЦрд╛ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдореЗрдВ рдпреЗ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓реЗ:



рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреБрдирд░реБрддреНрдкрддреНрддрд┐

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

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

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ f1 = 0.78 рд╡рд╛рд▓рд╛ рдореЙрдбрд▓ рдерд╛ред рд╣рдо рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕реЗ рд╕реБрдзрд╛рд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдкреВрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреАрдо рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк рдореЙрдбрд▓ рдФрд░ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рдХреЛрдб рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдЙрди рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХреЗрдВред

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

dvc repro stage_evaluate , рдордВрдЪ рдкреВрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреАрд╡реАрд╕реА рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рджреЗрдЦреЗрдЧрд╛ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рд╣рдо рдХреБрдЫ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдкрд░рд┐рд╡рд░реНрддрди рдЦреЛрдЬреЗрдЧрд╛ рдФрд░ рдЙрд╕ рдХреНрд╖рдг рд╕реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред

 $ dvc repro stage_evaluate.dvc Stage 'data/iris.csv.dvc' didn't change. Stage 'stage_feature_extraction.dvc' didn't change. Stage 'stage_split_dataset.dvc' didn't change. Stage 'stage_train.dvc' didn't change. Stage 'stage_evaluate.dvc' didn't change. Pipeline is up to date. Nothing to reproduce. 

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, DVC рдиреЗ рд╕реНрдЯреЗрдЬ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдЪрд░рдг_рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рджреЗрдЦрд╛ рдФрд░ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рдФрд░ рдЕрдЧрд░ рд╣рдо -f рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рднреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ рдФрд░ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рдпрд╣ рдЙрд╕ рдбреЗрдЯрд╛ рдХреЗ рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рд╡рд╣ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╣рд░ рдмрд╛рд░ рдЬрдм рдбреАрд╡реАрд╕реА рдЪрд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд┐рдЫрд▓реЗ рдХреИрд╢ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдбреЗрдЯрд╛ рдХреА рдирдХрд▓ рди рд╣реЛред рдлрд┐рд▓рд╣рд╛рд▓ DVC рдлрд╝рд╛рдЗрд▓ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рдХреЗ рд╣реИрд╢ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдПрдЧреА, рдФрд░ рдпрджрд┐ рдпрд╣ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рддреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧреА рдФрд░ рдЗрд╕ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрдЧреАред рдпрджрд┐ рдЖрдк рдЗрд╕рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред

рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЖрдкрдХреЛ рддреЗрдЬреА рд╕реЗ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ ( featurization.py рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЛрдВ рдХреЛ ' featurization.py ' рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдбреАрд╡реАрд╕реА рдЗрди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦреЗрдЧрд╛ рдФрд░ рдкреВрд░реА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред

рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрдирд╛


рдбреАрд╡реАрд╕реА рди рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк dvc push рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдбреАрд╡реАрд╕реА рдореЙрдбрд▓ рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд░рд┐рдореЛрдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рднреЗрдЬ рджреЗрдЧрд╛ред рдпрджрд┐ рддрдм рдЖрдкрдХрд╛ рд╕рд╣рдХрд░реНрдореА рдЖрдкрдХреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ dvc pull git clone рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдЗрд╕ рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫрд┐рдд рдбреЗрдЯрд╛ рдФрд░ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓реЗрдЧрд╛ред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рднреА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рднрдВрдбрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред



рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрд╕реНрдерд╛рдпреА / рдбреАрд╡реАрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ "рд░рд┐рдореЛрдЯ" рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣, рдХреНрд▓рд╛рдЙрдб рдореЗрдВ рд░рд┐рдореЛрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЛ рдХрдорд┐рдЯ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ Git рдХрд╣рд╛рдиреА рдореЗрдВ рдмрдирд╛ рд░рд╣реЗред рдЕрдм рд╣рдо рдЗрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП dvc push рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЖрдкрдХрд╛ рд╕рд╣рдХрд░реНрдореА рдЗрд╕реЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл dvc pull рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП , рд╣рдордиреЗ рддреАрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд┐рд╕рдореЗрдВ рдбреАрд╡реАрд╕реА рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ:

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

рднрд╛рдЧ реи


рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдбреАрд╡реАрд╕реА рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВ?

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рдореБрдЦреНрдп рд╣реИрдВ:

  • рд╕рднреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИрдВ;
  • рдЧрдгрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд▓реЙрдиреНрдЪ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг;
  • рдХреЛрдб, рдбреЗрдЯрд╛ рдФрд░ рдореЙрдбрд▓ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг;
  • рдкрд░реНрдпрд╛рд╡рд░рдг рдирд┐рдпрдВрддреНрд░рдг;
  • рдкреНрд░рд▓реЗрдЦрдиред

рдпрджрд┐ рдпрд╣ рд╕рдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдбреАрд╡реАрд╕реА рдЖрдкрдХреЛ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓реЗ 3 рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЬрдм рдЖрдкрдХреА рдХрдВрдкрдиреА рдореЗрдВ DVC рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЕрдирд┐рдЪреНрдЫрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: тАЬрд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рд╣реИред тАЭ рд╢рд╛рдпрдж рдЖрдкрдХреЗ рдХреБрдЫ рд╕рд╣рдпреЛрдЧреА рдХреЗрд╡рд▓ рдЬреБрдкрд┐рдЯрд░ рдиреЛрдЯрдмреБрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЖрдИрдбреАрдИ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдХрдард┐рди рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЪрд░рдг-рджрд░-рдЪрд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

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

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

Source: https://habr.com/ru/post/hi461803/


All Articles