MLflow 是一个开源的机器学习生命周期管理工具,核心功能包括:
pip install mlflow如果需要可视化 UI:
pip install mlflow matplotlib scikit-learnmlflow ui访问:
http://127.0.0.1:5000import 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_rf_experiment")
with mlflow.start_run():
# 参数
params = {
"n_estimators": 100,
"max_depth": 5
}
mlflow.log_params(params)
# 数据
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)
# 模型训练
model = RandomForestClassifier(**params)
model.fit(X_train, y_train)
# 指标
acc = accuracy_score(y_test, model.predict(X_test))
mlflow.log_metric("accuracy", acc)
# 记录模型
mlflow.sklearn.log_model(model, "model")
print(f"Accuracy: {acc}")✅ 结果可在 UI 中查看:
+-------------------+
| Training Code |
| (mlflow.log_*) |
+--------+----------+
|
v
+-------------------+
| Tracking Server |
| (UI + API) |
+--------+----------+
|
v
+-------------------+
| Backend Store |
| (SQLite / MySQL) |
+-------------------+
|
v
+-------------------+
| Artifact Store |
| (Local / S3 / OSS)|
+-------------------+mlflow server \
--backend-store-uri sqlite:///mlflow.db \
--default-artifact-root ./mlruns \
--host 0.0.0.0 \
--port 5000访问:
http://<服务器IP>:5000--backend-store-uri mysql+pymysql://user:pwd@localhost/mlflow示例(S3):
--default-artifact-root s3://my-mlflow-bucket/import mlflow
mlflow.set_tracking_uri("http://127.0.0.1:5000")
mlflow.set_experiment("my_experiment")
with mlflow.start_run():
mlflow.log_param("lr", 0.01)
mlflow.log_metric("loss", 0.123)| 类型 | API |
|---|---|
| 参数 | mlflow.log_param() |
| 多参数 | mlflow.log_params() |
| 指标 | mlflow.log_metric() |
| 模型 | mlflow.sklearn.log_model() |
| 文件 | mlflow.log_artifact() |
| 标签 | mlflow.set_tag() |
mlflow.pytorch.log_model(model, "model")
mlflow.tensorflow.log_model(model, "model")mlflow.log_params(best_params)
mlflow.log_metric("best_score", best_score)FROM python:3.10
RUN pip install mlflow
EXPOSE 5000
CMD ["mlflow", "server", "--host", "0.0.0.0"]✅ 每个项目一个 experiment
✅ 实验名 + 日期 + 版本
✅ 记录:
✅ 模型 + 指标一起保存
如果你愿意,我可以:
你现在是个人使用还是团队部署?