728x90
반응형
SMALL
MLflow
MLflow는 머신러닝 라이프사이클을 관리하기 위한 오픈 소스 플랫폼이다. 이 플랫폼은 머신러닝 모델의 실험, 개발, 배포, 그리고 운영 과정을 자동화하고 일관되게 관리할 수 있도록 도와준다. MLflow는 사용자가 실험을 추적하고, 재현 가능한 환경에서 프로젝트를 실행하며, 다양한 포맷의 모델을 저장하고 배포할 수 있게 해준다.
pip install mlflow
pip install --upgrade pip
pip install setuptools
터미널에서 mlflow ui를 입력하면 기계 학습 코드를 실행할 때 매개변수, 코드 버전, 지표 및 출력 파일을 기록하고 결과를 시각화하기 위한 API 및 UI로 접속할 수 있다.
mlflow ui
iris 데이터 실습 : 데이터 로드
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
iris = load_iris()
x = iris.data
y = iris.target
데이터 전처리 및 분리
scaler = StandardScaler()
x_scaled = scaler.fit_transform(x)
x_train, x_test, y_train, y_test = train_test_split(x_scaled, y, test_size=0.2, random_state=42)
모델 로드 및 학습
model = LogisticRegression(max_iter=200)
model.fit(x_train, y_train)
모델 평가
y_pred = model.predict(x_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"정확도 : {accuracy * 100}")
MLflow 실험 저장
import mlflow.sklearn
mlflow.set_tracking_uri("http://127.0.0.1:5000")
mlflow.set_experiment(experiment_name='iris_test')
mlflow.autolog()
with mlflow.start_run(nested=True): # 실험 시작
model.fit(x_train, y_train)
y_pred = model.predict(x_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"정확도 : {accuracy * 100}")
mlflow.end_run() # 실험 종료
728x90
반응형
LIST
'App Programming > MLops' 카테고리의 다른 글
[MLops] GitHub Action (0) | 2024.08.17 |
---|---|
[MLops] 데이터베이스 (0) | 2024.08.13 |
[MLops] 모델 추론 (0) | 2024.08.13 |
[MLops] 학습 결과 기록하기 (0) | 2024.08.12 |
[MLops] 모델 저장하기 (0) | 2024.08.12 |