Introductie tot MLflow
Weston Bassler
Senior MLOps Engineer

parameter_1_name:type: data_typedefault: default_valueparameter_2_name:type: data_typedefault: default_value
Datatype
Standaardwaarde
name: project_name python_env: python_env.yaml entry_points: main:parameters: parameter_1: type: data_type default: default_value parameter_2: type: data_type default: default_valuecommand: "python train.py {parameter_1_name} {parameter_2_name}"
# Bibliotheken en modules importeren import mlflow import mlflow.sklearn import pandas as pdimport sysfrom sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split # Trainingsdata df = pd.read_csv('Salary_predict.csv') X = df[["experience", "age", "interview_score"]] y = df[["Salary"]]
# Train-test-split X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.7, random_state=0) # Auto-logging instellen voor Scikit-learn flavor mlflow.sklearn.autolog()# Parameters n_jobs_param = int(sys.argv[1]) fit_intercept_param = bool(sys.argv[2])# Model trainen lr = LinearRegression(n_jobs=n_jobs_param, fit_intercept=fit_intercept_param)lr.fit(X_train, y_train)
name: salary_model python_env: python_env.yaml entry_points: main:parameters: n_jobs_param: type: int default: 1 fit_intercept_param: type: bool default: Truecommand: "python train_model.py {n_jobs_param} {fit_intercept_param}"
mlflow.projects.run()
parameters={
'parameter_1': data_value,
'parameter_2': data_value,
}
mlflow run
-P parameter_1=parameter_1_value
-P parameter_2=parameter_2_value
# MLflow-module importeren import mlflow # Lokaal project uitvoeren mlflow.projects.run( uri='./', entry_point='main', experiment_name='Salary Model',parameters={ 'n_jobs_param': 2, 'fit_intercept_param': False})
2023/04/07 18:50:22 INFO mlflow.projects.backend.local: === Running command 'source /.mlflow/envs/mlflow/bin/activate && python train_model.py 2 False' in run with ID '422a6f589c984049ac03698efec8a286' ===2023/04/07 18:50:28 INFO mlflow.projects: === Run (ID '422a6f589c984049ac03698efec8a286') geslaagd ===
# Hoofdingangspunt van experiment Salary Model uitvoeren mlflow run --entry-point main --experiment-name "Salary Model" \-P n_jobs_param=3 -P fit_intercept_param=True ./
# Hoofdingangspunt van experiment Salary Model uitvoeren
mlflow run --entry-point main --experiment-name "Salary Model" \
-P n_jobs_param=3 -P fit_intercept_param=True ./
2023/04/07 19:08:51 INFO mlflow.projects.backend.local: === Running command 'source
/.mlflow/envs/mlflow/bin/activate && python train_model.py 3 True' in run with ID
'7c0a8885a3c7475a9aafc43c6fcae04d' ===
Introductie tot MLflow