0Pricing
Learn AI with Python · 课时

使用 MLflow 跟踪实验

mlflow.start_run()、log_param()、log_metric()、log_artifact(),以及查看 MLflow 界面。

使用 MLflow 跟踪实验 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。

为什么要跟踪实验?

机器学习工作通常包含数十次使用不同参数和数据的运行。如果不进行跟踪,您就会忘记哪些设置产生了最佳模型。MLflow 会记录每次运行的参数、指标和工件,使结果可以复现和比较。

安装与导入

MLflow 只需通过 pip 安装一次并导入即可。

# pip install mlflow
import mlflow
import mlflow.sklearn

start_run 上下文

mlflow.start_run() 会以上下文管理器的方式开启一次运行。with 块中记录的所有内容都属于该运行,退出时运行会自动关闭。

with mlflow.start_run():
    # log params, metrics, model here
    pass

记录参数

log_param 会记录一个超参数(您选择的输入)。请记录所有定义该运行的内容,以便稍后复现。

with mlflow.start_run():
    mlflow.log_param("n_estimators", 200)
    mlflow.log_param("max_depth", 8)

记录指标

log_metric 会记录准确率或损失等数值结果(即输出)。指标可以配合 step 重复记录,以跟踪训练曲线。

mlflow.log_metric("accuracy", 0.93)
mlflow.log_metric("val_loss", 0.21, step=epoch)

参数与指标

  • 参数:您设置的输入(学习率、深度)。只记录一次。
  • 指标:您测量的输出(准确率、RMSE)。可以随步骤变化。

将两者分开保存后,MLflow 就能在表格和图表中比较各次运行。

记录工件

log_artifact 会将任意文件与运行一起保存:绘图、混淆矩阵、数据样本和配置文件等。工件用于将支持性证据附加到运行中。

mlflow.log_artifact("confusion_matrix.png")
mlflow.log_artifact("feature_importance.csv")

记录模型

mlflow.sklearn.log_model 会将训练好的 scikit-learn 模型序列化为工件,并与其依赖项一起打包,因此之后可以重新加载或部署。每种框架都有自己的风格(mlflow.keras、mlflow.pytorch)。

mlflow.sklearn.log_model(model, artifact_path="model")

运行标识符

每次运行都会获得唯一的运行标识符。您可以使用它以编程方式引用、重新加载或比较特定运行。

with mlflow.start_run() as run:
    mlflow.log_metric("accuracy", 0.93)
    print("Run ID:", run.info.run_id)

完整运行

将这些步骤组合起来:开启运行、记录参数、训练、记录指标、记录模型,全部放在同一个代码块中。

with mlflow.start_run():
    mlflow.log_param("max_depth", 8)
    model.fit(X_train, y_train)
    acc = model.score(X_test, y_test)
    mlflow.log_metric("accuracy", acc)
    mlflow.sklearn.log_model(model, "model")

查看实验

在终端中运行 mlflow ui,即可启动本地网页仪表板(默认地址为 http://localhost:5000),在其中浏览运行、按指标排序,并并排比较参数。

# terminal
mlflow ui

快速检查

测试您对 MLflow 跟踪的掌握情况。

回顾

您使用 MLflow 跟踪了实验:start_run() 开启运行,log_param/log_metric 记录输入和输出,log_artifact 保存文件,mlflow.sklearn.log_model 保存模型。每次运行都有一个运行标识符,而 mlflow ui 会显示全部内容。下一部分:模型注册表与版本管理。

常见问题解答

「使用 MLflow 跟踪实验」课时是免费的吗?

是的 — 「使用 MLflow 跟踪实验」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。

「使用 MLflow 跟踪实验」这节课中我会学到什么?

mlflow.start_run()、log_param()、log_metric()、log_artifact(),以及查看 MLflow 界面。 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Learn AI with Python 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「使用 MLflow 跟踪实验」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Learn AI with Python 课中编写并运行代码吗?

能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 MLflow 跟踪实验
  2. 模型注册与版本管理
  3. 构建可复现的机器学习 pipeline
  4. 监控生产环境中的模型性能
← 返回 Learn AI with Python