MLflow Projelerini Çalıştırma

MLflow’a Giriş

Weston Bassler

Senior MLOps Engineer

API ve komut satırı

İş Akışları

MLflow’a Giriş

Projeler API’si

mlflow.projects

mlflow.projects.run()

  • uri - MLproject dosyasının URI’si

  • entry_point - Çalıştırmanın başlayacağı MLproject giriş noktası

  • experiment_name - Eğitim çalıştırmasının izleneceği deney

  • env_manager - Python ortam yöneticisi: local veya virtualenv

# MLflow Projesini çalıştır
mlflow.projects.run(

uri='./',
entry_point='main',
experiment_name='My Experiment',
env_manager='virtualenv'
)
MLflow’a Giriş

MLproject

name: salary_model
python_env: python_env.yaml
entry_points:
  main:
    command: "python train_model.py"
MLflow’a Giriş

train_model.py

# Kütüphaneleri ve modülleri içe aktar
import mlflow
import mlflow.sklearn
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

# Eğitim verisi df = pd.read_csv('Salary_predict.csv') X = df[["experience", "age", "interview_score"]] y = df[["Salary"]]
MLflow’a Giriş

train_model.py

# Train test split 
X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.7,
                                                    random_state=0)

# Scikit-learn için otomatik kaydı ayarla mlflow.sklearn.autolog() # Modeli eğit lr = LinearRegression() lr.fit(X_train, y_train)
MLflow’a Giriş

Projelerin çalıştırılması

# MLflow modülünü içe aktar
import mlflow

# Yerel Projeyi çalıştır mlflow.projects.run(uri='./', entry_point='main', experiment_name='Salary Model')
MLflow’a Giriş

Çalıştırma çıktısı

# Yerel Projeyi çalıştır
mlflow.projects.run(uri='./', entry_point='main', 
                    experiment_name='Salary Model')
2023/04/02 14:33:23 INFO mlflow.projects: 'Salary Model' mevcut değil. 
Yeni bir deney oluşturuluyor

2023/04/02 14:33:23 INFO mlflow.utils.virtualenv: Python 3.10.8 kurulu değilse yükleniyor 2023/04/02 14:33:23 INFO mlflow.utils.virtualenv: Yeni bir ortam oluşturuluyor /.mlflow/envs/mlflow-44f5094bba686a8d4a5c772 created virtual environment CPython3.10.8.final.0-64 in 236ms 2023/04/02 14:33:23 INFO mlflow.utils.virtualenv: Bağımlılıklar yükleniyor
MLflow’a Giriş

Çalıştırma çıktısı

2023/04/02 14:33:59 INFO mlflow.projects.backend.local: === Komut çalıştırılıyor: 
'source /.mlflow/envs/mlflow-44f5094bba686a8d4a5c772/bin/activate && python 
train_model.py' çalıştırma kimliği '562916d45aeb48ec84c1c393d6e3f5b6' ile ===

2023/04/02 14:34:34 INFO mlflow.projects: === Çalıştırma (ID '562916d45aeb48ec84c1c393d6e3f5b6') başarılı ===
MLflow’a Giriş

MLflow İzleme

MLflow İzleme Arayüzü

MLflow’a Giriş

Komut satırı

mlflow run
  • --entry-point - Çalıştırmanın başlayacağı MLproject giriş noktası

  • --experiment-name - Eğitim çalıştırmasının izleneceği deney

  • --env-manager - Python ortam yöneticisi: local veya virtualenv

  • URI - MLproject dosyasının URI’si

MLflow’a Giriş

Komutu çalıştırma

# Salary Model deneyinde main giriş noktasını çalıştır
mlflow run --entry-point main --experiment-name "Salary Model" ./
2023/04/02 15:23:34 INFO mlflow.utils.virtualenv: Python 3.10.8 kurulu değilse 
yükleniyor
2023/04/02 15:23:34 INFO mlflow.utils.virtualenv: Ortam zaten mevcut: 
/.mlflow/envs/mlflow-44f5094bba686a8d4a5c772

2023/04/02 15:23:34 INFO mlflow.projects.backend.local: === Komut çalıştırılıyor 'source /Users/weston/.mlflow/envs/mlflow-44f5094bba686a8d4a5c772/bin/activate && python train_model.py' çalıştırma kimliği 'da5b37b6f53245e5bca59ba8ed6d7dc1' ile ===
2023/04/02 15:23:38 INFO mlflow.projects: === Çalıştırma (ID 'da5b37b6f53245e5bca59ba8ed6d7dc1') başarılı ===
MLflow’a Giriş

Hadi pratik yapalım!

MLflow’a Giriş

Preparing Video For Download...