如何将之前的 运行 更新为 MLFlow?

How to update a previous run into MLFlow?

我想更新之前使用 MLFlow 完成的运行,即。 changing/updating 一个参数值以适应实现中的变化。典型用例:

要丢弃整个实验并不总是那么容易,因为我需要保留以前的运行以用于统计目的。我也不希望只为单个新参数生成新实验,以保留单个运行数据库。

最好的方法是什么?

要添加或更正现有 运行 的参数、指标或工件,请将 run_id 而不是 experiment_id 传递给 mlflow.start_run 函数

with mlflow.start_run(run_id="your_run_id") as run:
    mlflow.log_param("p1","your_corrected_value")
    mlflow.log_metric("m1",42.0) # your corrected metrics
    mlflow.log_artifact("data_sample.html") # your corrected artifact file

您可以在任何 MLflow 运行 完成后随时更正、添加或删除它。从 UI 或使用 mlflow.search_runs.

获取 run_id

来源:https://towardsdatascience.com/5-tips-for-mlflow-experiment-tracking-c70ae117b03f

MLflow API 不支持更新现有参数值,请参阅 this

但是,您可以使用后门来实现重写现有参数值的目的。但谨慎使用。