问题描述
我想更新以前用MLFlow完成的运行.更改/更新参数值以适应实现中的更改.典型的使用案例:
I would like to update previous runs done with MLFlow, ie. changing/updating a parameter value to accommodate a change in the implementation. Typical uses cases:
- 使用参数A运行日志,然后使用参数A和B进行日志记录.使用其默认值更新先前运行的参数B的值将很有用.
- 专业化"参数.使用布尔标志作为参数实现模型.更新实现以采用字符串代替.现在,我们需要更新先前运行的参数值,以使其与新行为保持一致.
- 更正先前运行中记录的错误参数值.
丢弃整个实验并不总是那么容易,因为我需要保留先前的运行以用于统计目的.我也不想只为一个新参数生成一个新实验,以保持一个运行数据库.
It is not always easy to trash the whole experiment as I need to keep the previous runs for statistical purpose. I would like also not to generate new experiments just for a single new parameter, to keep a single database of runs.
做到这一点的最佳方法是什么?
What is the best way to do this?
推荐答案
要添加或纠正现有运行的参数,度量或工件,请将run_id而不是Experiment_id传递给mlflow.start_run函数
To add or correct a parameter, metric or artifact of an existing run, pass run_id instead of experiment_id to mlflow.start_run function
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运行.从用户界面或使用 mlflow.search_runs .
You can correct, add to, or delete any MLflow run any time after it is complete. Get the run_id either from the UI or by using mlflow.search_runs.
来源: https://towardsdatascience.com/5-tips-for-mlflow-experiment-tracking-c70ae117b03f
这篇关于如何将以前的运行更新为MLFlow?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!