MLflow Tracking 主要解决:
核心概念:
pip install mlflow本地模式(最简单):
mlflow ui访问:
http://localhost:5000也可以用远程 server(团队用):
mlflow server \
--host 0.0.0.0 \
--port 5000 \
--backend-store-uri sqlite:///mlflow.db \
--default-artifact-root s3://your-bucket/mlflowimport mlflow
import mlflow.sklearn
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 设置实验
mlflow.set_experiment("iris_classification")
X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
with mlflow.start_run():
params = {
"n_estimators": 100,
"max_depth": 5
}
mlflow.log_params(params)
model = RandomForestClassifier(**params)
model.fit(X_train, y_train)
preds = model.predict(X_test)
acc = accuracy_score(y_test, preds)
mlflow.log_metric("accuracy", acc)
mlflow.sklearn.log_model(model, "model")启动后访问:
http://localhost:5000你可以看到:
mlflow.sklearn.autolog()会自动记录:
import mlflow.pytorch
mlflow.pytorch.log_model(model, "model")TensorFlow:
import mlflow.tensorflow
mlflow.tensorflow.autolog()mlflow.log_artifact("confusion_matrix.png")mlflow.set_tracking_uri("http://mlflow-server:5000")✅ 每个项目一个 Experiment
✅ 用 tags 区分实验目的
✅ 重要模型用 registered model
✅ 结合 Git Commit 记录版本
mlflow.set_tag("owner", "alice")
mlflow.set_tag("purpose", "baseline")1. 安装 mlflow
2. mlflow ui
3. 写代码:
- set_experiment
- start_run
- log_params / log_metrics
- log_model
4. 在 UI 对比实验如果你愿意,我可以:
你现在是个人用还是团队用?