【问题标题】:MLFlow creates a new experiment run when logging manually along with autologMLFlow 在手动记录和自动记录时创建一个新的实验运行
【发布时间】:2022-06-20 21:45:56
【问题描述】:

我正在使用 MLFlow 在 AzureML 工作区中记录指标和人工制品。使用autolog,可以在 AzureML 工作区中运行的实验中使用 tensorflow 训练指标。除了自动记录指标 - 我想在同一实验运行中记录额外的指标和绘图。使用 MLFlow 执行此操作 - 它正在创建一个新的实验运行。

自动记录:

mlflow.autolog()

手动记录:

mlflow.log_metric(f"label-A", random.randint(80, 90))

预期: 手动记录的指标可在同一实验运行中使用。

【问题讨论】:

  • 您是否在同一上下文中执行两个日志记录步骤,即with mlflow.start_run() as run: - 在此块内?如果没有,您将需要检索第一个上下文的 run_id 并在以 with mlflow.start_run(run_id) as run: 重新运行上下文时传递它。

标签: metrics mlflow azureml


【解决方案1】:

不要使用模块方法调用mlflow.log_metric来记录指标,而是使用客户端MlflowClient,它以run_id作为参数。

以下代码将指标记录在作为参数传递的同一 run_id 中。

from mlflow.tracking import MlflowClient
from azureml.core import Run

run_id = Run.get_context(allow_offline=True).id
MlflowClient().log_metric(run_id, "precision", 0.91)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多