You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改MLflow artifact store的子目录存储路径

MLflow artifact存储路径自定义问题解答

你提到的路径中3/是MLflow自动生成的实验ID,属于默认存储路径的固定组成部分,原生不支持直接修改这套默认的根路径生成规则,但可以通过两种官方支持的方案实现自定义路径的需求:

  • 方案1:创建实验时指定自定义artifact根路径
    创建实验时通过mlflow.create_experiment()的artifact_location参数直接定义整个实验的artifact存储根目录,就可以替代默认生成的数字ID根路径,示例代码如下:
import mlflow
from datetime import datetime

experiment_name = "特征重要性分析实验"
date_str = datetime.now().strftime("%Y%m%d")
custom_root_path = f"s3://mlflow/{date_str}/{experiment_name}"
# 创建实验时指定自定义根存储路径
experiment_id = mlflow.create_experiment(
    name=experiment_name,
    artifact_location=custom_root_path
)

该实验下所有运行产生的artifact都会存储到你指定的自定义路径下,不会再生成数字ID的根目录。

  • 方案2:上传artifact时指定自定义子路径
    如果不需要修改整个实验的根路径,也可以在上传单个文件时通过artifact_path参数添加自定义前缀,示例代码如下:
with mlflow.start_run(experiment_id="3"):
    # 上传时指定自定义子目录,会拼接在默认artifact路径之后
    mlflow.log_artifact(
        local_path="本地路径/feature_importance_split.json",
        artifact_path=f"{datetime.now().strftime('%Y%m%d')}/特征重要性实验"
    )

上传后文件的最终S3路径为:s3://mlflow/3/1353808bf7324824b7343658882b1e45/artifacts/20240520/特征重要性实验/feature_importance_split.json,也能满足按自定义维度分类存储的需求。

注意:默认生成的数字ID路径是MLflow内部关联实验元数据的核心标识,不要直接修改S3上已存在的数字目录名称,否则会导致MLflow界面和API无法正常读取对应实验的artifact数据。

内容的提问来源于stack exchange,提问作者dyao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 01:21:04