MLflow 소개
Weston Bassler
Senior MLOps Engineer

mlflow.projects
mlflow.projects.run()
uri - MLproject 파일의 URI
entry_point - MLproject에서 시작할 엔트리 포인트
experiment_name - 학습 실행을 추적할 실험
env_manager - Python 환경 관리자: local 또는 virtualenv
# MLflow 프로젝트 실행 mlflow.projects.run(uri='./',entry_point='main',experiment_name='My Experiment',env_manager='virtualenv')
name: salary_model
python_env: python_env.yaml
entry_points:
main:
command: "python train_model.py"
# 라이브러리 및 모듈 임포트 import mlflow import mlflow.sklearn import pandas as pd from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split# 학습 데이터 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)# Scikit-learn 플레이버 자동 로깅 설정 mlflow.sklearn.autolog() # 모델 학습 lr = LinearRegression() lr.fit(X_train, y_train)
# MLflow 모듈 임포트 import mlflow# 로컬 프로젝트 실행 mlflow.projects.run(uri='./', entry_point='main', experiment_name='Salary Model')
# 로컬 프로젝트 실행
mlflow.projects.run(uri='./', entry_point='main',
experiment_name='Salary Model')
2023/04/02 14:33:23 INFO mlflow.projects: 'Salary Model' does not exist. Creating a new experiment2023/04/02 14:33:23 INFO mlflow.utils.virtualenv: Installing python 3.10.8 if it does not exist 2023/04/02 14:33:23 INFO mlflow.utils.virtualenv: Creating a new environment /.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: Installing dependencies
2023/04/02 14:33:59 INFO mlflow.projects.backend.local: === Running command 'source /.mlflow/envs/mlflow-44f5094bba686a8d4a5c772/bin/activate && python train_model.py' in run with ID '562916d45aeb48ec84c1c393d6e3f5b6' ===2023/04/02 14:34:34 INFO mlflow.projects: === Run (ID '562916d45aeb48ec84c1c393d6e3f5b6') succeeded ===
![]()
mlflow run
--entry-point - 실행 시작 엔트리 포인트 MLproject
--experiment-name - 학습 실행을 추적할 실험
--env-manager - Python 환경 관리자: local 또는 virtualenv
URI - MLproject 파일의 URI
# Salary Model 실험의 main 엔트리 포인트 실행
mlflow run --entry-point main --experiment-name "Salary Model" ./
2023/04/02 15:23:34 INFO mlflow.utils.virtualenv: Installing python 3.10.8 if it does not exist 2023/04/02 15:23:34 INFO mlflow.utils.virtualenv: Environment /.mlflow/envs/mlflow-44f5094bba686a8d4a5c772 already exists2023/04/02 15:23:34 INFO mlflow.projects.backend.local: === Running command 'source /Users/weston/.mlflow/envs/mlflow-44f5094bba686a8d4a5c772/bin/activate && python train_model.py' in run with ID 'da5b37b6f53245e5bca59ba8ed6d7dc1' ===2023/04/02 15:23:38 INFO mlflow.projects: === Run (ID 'da5b37b6f53245e5bca59ba8ed6d7dc1') succeeded ===
MLflow 소개