MLflow更改实验ID。

7

我无法更改 MLflow 实验的实验 ID。

目前,我正在运行以下代码以在记录之前创建一个实验:

mlflow.set_experiment(experiment_name="my_model")

with mlflow.start_run():
   #train model

这样做可以创建一个新的实验,但实验ID将始终为1。

创建的yaml文件如下所示:

artifact_location: file:///project/src/mlruns/1
experiment_id: '1'
lifecycle_stage: active
name: my_model

我试图查看 MLflow 文档,但是我找不到更改实验 ID 的示例或函数。 非常感谢任何关于此的帮助或提示。

你需要设置实验 ID 的原因是什么? - Bram
似乎无法通过API实现。 - Sida Zhou
2个回答

9
你应该在 start_run() 中调用你的实验 ID:

mlflow.set_experiment("experiment name")
experiment = mlflow.get_experiment_by_name("experiment name")

with mlflow.start_run(experiment_id=experiment.experiment_id):
     # train model

注意:如果您使用set_tracking_uri(),那么您应该在此之后set_experiment()


这会改变实验名称。但是它仍然会创建一个整数作为实验ID。 - Roel van der Burg

0

mlflow每个实验都有唯一的ID,如果你想要新的实验ID,你需要设置新的实验名称。

with mlflow.start_run(mlflow.set_experiment("new_experiment"),run_name='train') as run :
   #train model

run_name可以是任何你喜欢的、对你有意义的名称。

如果你想要更改你的实验id experiment_name="my_model",请先备份并删除存储映射的工件和数据库,然后重新运行你的模块。但在删除之前,请确保在机器学习用户界面上看到了其他实验。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接