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

如何将本地文件夹作为MLflow训练运行的输入数据进行记录?

规范记录本地图片数据集文件夹为MLflow输入数据

针对你的需求,有两种更规范的方式替代将文件夹路径存为超参数:

1. 直接记录文件夹为Artifact

MLflow的mlflow.log_artifact()支持直接上传整个本地文件夹,能完整保留图片文件夹的结构,且在MLflow UI中可直接浏览内容,是最简单直接的方案。

示例代码:

import mlflow

# 启动MLflow运行
with mlflow.start_run():
    # 把图片数据集文件夹上传到当前运行的artifact目录下的input_images子文件夹
    mlflow.log_artifact(local_dir="./path/to/your/image_dataset", artifact_path="input_images")
    # 执行后续训练逻辑...

操作后,在MLflow UI的当前运行详情页,你可以在「Artifacts」标签下找到input_images文件夹,直接查看里面的图片文件结构,比存超参数更直观规范。

2. 使用mlflow.data自定义数据集(更严谨的跟踪方式)

如果需要更正式的数据关联和元数据记录,可以用mlflow.data模块自定义数据集,把图片文件夹纳入MLflow的输入数据跟踪体系,在UI的「Inputs」标签下专门展示。

示例代码:

import mlflow
import mlflow.data

with mlflow.start_run():
    # 从本地路径创建自定义数据集,指定名称和数据格式
    image_dataset = mlflow.data.from_local(
        path="./path/to/your/image_dataset",
        name="training_image_dataset",
        data_format="image_folder"
    )
    # 将数据集标记为当前运行的训练输入数据
    mlflow.log_input(image_dataset, context="training")
    # 执行训练逻辑...

这种方式的优势在于:可以通过mlflow.data.Dataset.add_metadata()给数据集添加额外元数据(比如数据集描述、采集时间等),MLflow会自动跟踪数据集的路径、类型等信息,方便后续回溯训练使用的具体数据版本。

可选:结合数据版本控制工具(如DVC)

如果你的图片数据集需要版本管理,可以搭配DVC使用:先用DVC跟踪图片文件夹(dvc add image_dataset),然后在MLflow中记录DVC的版本哈希,同时上传dvc.lock文件作为artifact,精准关联训练时使用的数据集版本。

示例代码片段:

import subprocess
import mlflow

with mlflow.start_run():
    # 获取DVC当前数据集版本哈希
    dvc_rev = subprocess.check_output(["dvc", "rev", "image_dataset"]).decode().strip()
    mlflow.log_param("dataset_dvc_rev", dvc_rev)
    # 上传dvc.lock文件,方便验证数据集版本
    mlflow.log_artifact("dvc.lock")
    # 可选:同时记录图片文件夹作为artifact
    mlflow.log_artifact("./path/to/your/image_dataset", "input_images")

内容的提问来源于stack exchange,提问作者G. Rab

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:18:08