如何在mlflow.start_run()中获取当前运行id?

2024-06-02 07:26:42 发布

您现在位置:Python中文网/ 问答频道 /正文

mlflow.active_run()不返回任何内容,因此我不能仅使用 current_rui_id = mlflow.active_run().info.run_id

我必须在这个结构内部运行_id,以便能够继续记录另一个块内的参数、度量和工件,但对于同一个模型:

with mlflow.start_run(run_name="test_ololo"):

    """ 
       fitting a model here ...
    """

    for name, val in metrics:
        mlflow.log_metric(name, np.float(val))

    # Log our parameters into mlflow
    for k, v in params.items():
        mlflow.log_param(key=k, value=v)

    pytorch.log_model(learn.model, f'model')
    mlflow.log_artifact('./outputs/fig.jpg')

我必须获得当前的跑步id才能在同一次跑步中继续训练

with mlflow.start_run(run_id="215d3a71925a4709a9b694c45012988a"):

    """
       fit again
       log_metrics
    """

    pytorch.log_model(learn.model, f'model')
    mlflow.log_artifact('./outputs/fig2.jpg')

Tags: runnameinlogidformodelwith
2条回答

上面的方法应该有效,事实上是在with mlflow.start_run()块中获取活动运行的最佳方法

为完整起见,如果在with块内执行,mlflow.active_run().info.run_id也将起作用。with块将在退出时结束mlflow运行,因此一旦该块退出,就没有活动的运行

with mlflow.start_run(run_name="test_ololo") as run:

    run_id = run.info.run_id
    mlflow.log_metric("metric_1", metric_val)

相关问题 更多 >