从 UI 中删除 mlflow 实验中的运行,因此后端存储中不存在运行

Hun*_*orn 5 mlflow

我发现删除 arun只会将状态从 更改activedeleted,因为如果通过deleted.

是否可以run从 UI 中删除 a以节省空间?删除运行时,是否也删除了与运行对应的工件?

如果没有,可以通过休息调用删除运行吗?

Grz*_*orz 5

接受的答案确实删除了实验,而不是实验的运行。

为了删除目录,可以使用 mlflow API。以下是删除所有已删除运行的脚本:

import mlflow
import shutil
    
def get_run_dir(artifacts_uri):
    return artifacts_uri[7:-10]
    
    
def remove_run_dir(run_dir):
    shutil.rmtree(run_dir, ignore_errors=True)
    
experiment_id = 1
deleted_runs = 2
    
exp = mlflow.tracking.MlflowClient(tracking_uri='./mlflow/mlruns')
    
runs = exp.search_runs(str(experiment_id), run_view_type=deleted_runs)
    
_ = [remove_run_dir(get_run_dir(run.info.artifact_uri)) for run in runs]
Run Code Online (Sandbox Code Playgroud)


CpI*_*ILL 1

您无法通过 Web UI 执行此操作,但可以从 python 终端执行此操作

import mlflow

mlflow.delete_experiment(69)
Run Code Online (Sandbox Code Playgroud)

其中 69 是实验 ID

  • 这会删除实验,但实际上并没有从磁盘中删除数据 (4认同)