Skip to content

Acederys/MLOps_URFU

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

45 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Practices for MLops course UrFU

Module 1

БвСдСния

НСобходимо ΠΈΠ· ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с модСлью машинного обучСния.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ этапы ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° машинного обучСния ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… python–скриптах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π΅Π΄ΠΈΠ½ΡƒΡŽ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ дСйствий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ bash-скрипта.

ВсС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ lab1 ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°

Π­Ρ‚Π°ΠΏΡ‹:

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ python-скрипт (data_creation.py), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π½Π΅ΠΊΠΈΠΉ процСсс. Π’Π°ΠΊΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ нСсколько, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ ΠΈΠ»ΠΈ ΡˆΡƒΠΌΡ‹. Π§Π°ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² ΠΏΠ°ΠΏΠΊΠ΅ β€œtrain”, другая Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ β€œtest”. Одним ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² выполнСния этого этапа ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ скачиваниС Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· сСти, ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π° Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΡƒΡŽ. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ доступСн ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ скачивания Π»ΠΈΠ±ΠΎ Π΅ΡΡ‚ΡŒ Π² ubuntu Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· pip Π² Ρ„Π°ΠΉΠ»Π΅ pipeline.sh
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ python-скрипт (data_preprocessing.py), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт ΠΏΡ€Π΅Π΄ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Врансформации Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ Π½Π°Π΄ тСстовой ΠΈ Π½Π°Π΄ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ.
  3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ python-скрипт (model_preparation.py), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт ΠΈ ΠΎΠ±ΡƒΡ‡Π°Π΅Ρ‚ модСль машинного обучСния Π½Π° построСнных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ β€œtrain”.
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ python-скрипт (model_testing.py), ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΠΉ модСль машинного обучСния Π½Π° построСнных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ β€œtest”.
  5. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ bash-скрипт (pipeline.sh), ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ всС python-скрипты. ΠŸΡ€ΠΈ нСобходимости услоТнитС скрипт. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния скрипта Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² стандартный ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Π²ΠΎΠ΄Π° пСчатаСтся ΠΎΠ΄Π½Π° строка с ΠΎΡ†Π΅Π½ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Π½Π° вашСй ΠΌΠΎΠ΄Π΅Π»ΠΈ

Запуск

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ kaggle.json. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь.

ЗапуститС ./pipeline.sh

ОписаниС датасСта

ДатасСт взят ΠΈΠ· kaggle, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΊΡ€Π΅Π΄ΠΈΡ‚ΠΎΠ²Π°Π½ΠΈΠΈ Π·Π° 2007-2010 Π³ΠΎΠ΄Ρ‹ для ΠΌΠΎΠ΄Π΅Π»ΠΈ классификации.

ОписаниС столбцов ΠΈ Π·Π°ΠΌΠ΅Π½Ρ‹ пропусков

Π‘Ρ‚ΠΎΠ»Π±Π΅Ρ† Π”Π°Π½Π½Ρ‹Π΅ Π’ΠΈΠΏ НаличиС пропусков Бпособ Π·Π°ΠΌΠ΅Π½Ρ‹ Бпособ прСобразования
Gender Male/Female ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 5 Male OrdinalEncoder
Married Yes/No ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 0 - OrdinalEncoder
Dependents 0/1/2/3+ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 8 0 OrdinalEncoder
Education Graduate/Not Graduate ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 0 - OrdinalEncoder
Self_Employed Yes/No ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 21 No OrdinalEncoder
ApplicantIncome 150-9703 числовыС 0 - StandardScaler
CoapplicantIncome 0-33837 числовыС 0 - StandardScaler
LoanAmount 9-150 числовыС 0 - StandardScaler
Loan_Amount_Term 12-480 числовыС 11 360 StandardScaler
Credit_History 1/0 ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 30 0 OrdinalEncoder
Property_Area Rural/Urban/Semiurban ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 0 - OrdinalEncoder
Loan_Status (Ρ†Π΅Π»Π΅Π²ΠΎΠΉ) Y/N ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ 0 - LabelEncoder

Для обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ использована ЛогистичСская рСгрСссия. Π’Ρ‹Π²ΠΎΠ΄ осущСствляСтся Π² консоль.

Accuracy: 0.753 || Precision: 0.794 || Recall: 0.893 || F1 score: 0.84

Module 2

БвСдСния

ΠšΠΎΠ½Π²Π΅Π΅Ρ€ с использованиСм Jenkins Π‘Ρ€ΠΎΠΊ заканчиваСтся 18 ΠΌΠ°Ρ€Ρ‚Π° 2024 Π³., 23:59 Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΠΈ НуТно Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ собствСнный ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° машинного обучСния. Для этого понадобится Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина с установлСнным Jenkins, python ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ. Π’ Ρ…ΠΎΠ΄Π΅ выполнСния практичСского задания Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сбор Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ датасСта, ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π­Ρ‚Π°ΠΏΡ‹ задания

  1. Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сСрвСр с Jenkins, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ созданиСм ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния.
  2. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ способ получСния Π΄Π°Π½Π½Ρ‹Ρ… (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ· github, ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°, wget, SQL запрос, …).
  3. ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ, ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ датасСты для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ тСстирования ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.
  4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ датасСтС модСль машинного обучСния, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² pickle ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅.
  5. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ модСль Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ этапС ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ качСство Π½Π° тСстовых Π΄Π°Π½Π½Ρ‹Ρ….

Запуск

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ kaggle.json. Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ здСсь.

ЗапуститС ./pipeline.sh

ОписаниС датасСта

ДатасСт взят ΠΈΠ· kaggle, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ сСрдСчно-сосудистых заболСваниях.

ОписаниС столбцов

sbp - БистоличСскоС Π°Ρ€Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ tobacco - Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½Ρ‹ΠΉ Ρ‚Π°Π±Π°ΠΊ (ΠΊΠ³) ldl - Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ холСстСрина Π»ΠΈΠΏΠΎΠΏΡ€ΠΎΡ‚Π΅ΠΈΠ½ΠΎΠ² Π½ΠΈΠ·ΠΊΠΎΠΉ плотности adiposity - ВяТСлый ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ вСс (числовой Π²Π΅ΠΊΡ‚ΠΎΡ€) famhist - Π‘Π΅ΠΌΠ΅ΠΉΠ½Ρ‹ΠΉ Π°Π½Π°ΠΌΠ½Π΅Π· сСрдСчно-сосудистых Π·Π°Π±ΠΎΠ»Π΅Π²Π°Π½ΠΈΠΉ typea - ПовСдСниС Ρ‚ΠΈΠΏΠ° А obesity - Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΆΠΈΡ€Π° (числовой Π²Π΅ΠΊΡ‚ΠΎΡ€) alcohol - Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ алкоголя age - Возраст Π½Π°Ρ‡Π°Π»Π° chd - ΠžΡ‚Π²Π΅Ρ‚, ΠΈΡˆΠ΅ΠΌΠΈΡ‡Π΅ΡΠΊΠ°Ρ болСзнь сСрдца

MLops2

Для обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ использована ЛогистичСская рСгрСссия. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

image

Module 3

БвСдСния

Π’ практичСском Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ знания ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с docker (ΠΈ docker-compose). Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ знания ΠΏΠΎ созданию микросСрвисов. Π’ этом Π·Π°Π΄Π°Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ микросСрвис Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Π΄ΠΎΠΊΠ΅Ρ€.

Π­Ρ‚Π°ΠΏΡ‹ задания

  1. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ python ΠΊΠΎΠ΄ для ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ микросСрвиса
  2. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Docker file
  3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ docker ΠΎΠ±Ρ€Π°Π·
  4. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ docker ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Запуск

Если Π½Π΅ устанволСн docker

Add Docker's official GPG key:

sudo apt-get update

sudo apt-get install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the repository to Apt sources:

echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

УстановитС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΎΠ±Ρ€Π°Π·Π°

docker build -t app:latest -f Dockerfile .

НайдСм созданный ΠΎΠ±Ρ€Π°Π·:

docker images | grep app

Запуск ΠΎΠ±Ρ€Π°Π·Π°

docker run -p 8501:8501 -d app

ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½ΠΎΠΌΠ΅Ρ€Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²

docker ps

ΠžΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€

docker stop {Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ½Π΅ΠΉΠ½Π΅Ρ€Π°}

ИспользованиС docker-compose

Для установки docker-compose выполняСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

sudo apt-get update sudo apt-get install docker-compose

Π’ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° создаСм Ρ„Π°ΠΉΠ» docker-compose.yml со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТаниСм:

services: streamlit-app: build: . ports: - "8501:8501"

ЗапускаСм docker-compose ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

docker-compose up

Dockerhub

ΠžΠ±Ρ€Π°Π· Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½ Π½Π° dockerhub:

https://hub.docker.com/repository/docker/acederus/mlops/general

МодСль для классификации ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

МодСль взяла с hugging Face: google/vit-base-patch16-224

Module 4

БвСдСния

Π’ практичСском Π·Π°Π΄Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ модуля Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ практичСского использования ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ dvc для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этих Π·Π°Π΄Π°Π½ΠΈΠΉ Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ всС основныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с dvc ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ тСорСтичСскиС знания практичСскими дСйствиями.

Π­Ρ‚Π°ΠΏΡ‹ задания:

  1. УстановитС git ΠΈ dvc.
  2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ lab4 Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  3. НастройтС ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git ΠΈ dvc.
  4. НастройтС git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.
  5. НастройтС ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Google Disk ΠΈΠ»ΠΈ S3.
  6. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ датасСт ΠΎ пассаТирах β€œΠ’ΠΈΡ‚Π°Π½ΠΈΠΊΠ°β€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, catboost.titanic().
  7. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ датасСт, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится информация ΠΎ классС (β€œPclass”), ΠΏΠΎΠ»Π΅ (β€œSex”) ΠΈ возрастС (β€œAge”) пассаТира. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git ΠΈ push Π² dvc.
  8. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ датасСта, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ (nan) значСния Π² ΠΏΠΎΠ»Π΅ β€œAge” Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ срСдним Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git ΠΈ push Π² dvc.
  9. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ с использованиСм one-hot-encoding для строкового ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° β€œΠŸΠΎΠ»β€ (β€œSex”). Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² git ΠΈ push Π² dvc.
  10. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ всСми созданными вСрсиями датасСта.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для установки ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ dvc ΠΈ gdrive

Π’ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ для установки ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ DVC ΠΈ Google Drive:

Установка DVC: pip install dvc

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ рСпозитория Git (Ссли Π΅Ρ‰Π΅ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½): git init

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ DVC: dvc init

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Google Drive: dvc remote add -d mydrive gdrive://<ID_вашСго_Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°>

Настройка Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Google Drive:

dvc remote modify mydrive gdrive_client_id <ID_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°> dvc remote modify mydrive gdrive_client_secret <Π‘Π΅ΠΊΡ€Π΅Ρ‚_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°>

АутСнтификация с Google Drive:

dvc remote modify mydrive gdrive_use_service_account true dvc remote modify mydrive gdrive_service_account_email <Π’Π°Ρˆ_элСктронный_адрСс>

Drive

gdrive://1o9OR29UFkJyIgf0lfLDwNS9LlwjMRyQx

Module 5

БвСдСния

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ срСдства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ тСстирования python для автоматичСского тСстирования качСства Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ машинного обучСния Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… датасСтах.

Π­Ρ‚Π°ΠΏΡ‹ задания:

  1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ датасСта с «качСствСнными» Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ модСль Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ рСгрСссии.

  2. На ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· этих датасСтов ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ модСль Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ рСгрСссии.

  3. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ датасСт с ΡˆΡƒΠΌΠΎΠΌ Π² Π΄Π°Π½Π½Ρ‹Ρ….

  4. ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ тСстированиС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… датасСтах с использованиСм pytest, анализируя качСство прСдсказания, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π° датасСтС с ΡˆΡƒΠΌΠ°ΠΌΠΈ.

ВСсты

load_pipeline - тСст прСдоставляСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ тСстам доступ ΠΊ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… тСстирования.

load_data_and_get_pred - тСст позволяСт Π΄Ρ€ΡƒΠ³ΠΈΠΌ тСстам ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ для прСдсказания истинных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… с прСдсказанными значСниями для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

test_mse - тСст провСряСт ΡΡ€Π΅Π΄Π½ΡŽΡŽ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ (MAE) ΠΌΠ΅ΠΆΠ΄Ρƒ фактичСскими значСниями Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ прСдсказанными значСниями, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ с использованиСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°.

test_r2 - тСст провСряСт коэффициСнт Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ†ΠΈΠΈ (R^2) ΠΌΠ΅ΠΆΠ΄Ρƒ фактичСскими значСниями Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈ прСдсказанными значСниями, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ с использованиСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°.

About

project on academic discipline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •