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

如何通过Azure ML SDK列出Azure ML Dataset所有版本并获取上一版本

使用Azure ML SDK列出数据集所有版本并获取上一版本

前置准备

  • 安装Azure ML SDK v2:pip install azure-ai-ml
  • 已通过SDK完成Azure ML工作区的身份验证与连接

1. 列出数据集的所有可用版本

通过MLClient的data.list()方法,指定list_all_versions=True即可获取目标数据集的全部版本:

from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# 初始化工作区客户端
ml_client = MLClient(
    credential=DefaultAzureCredential(),
    subscription_id="<你的订阅ID>",
    resource_group_name="<资源组名称>",
    workspace_name="<工作区名称>"
)

# 目标数据集名称
target_dataset = "<数据集名称>"

# 获取所有版本
all_versions = ml_client.data.list(name=target_dataset, list_all_versions=True)

# 遍历打印版本详情
for version in all_versions:
    print(f"版本号: {version.version}, 创建时间: {version.created_on}, 描述: {version.description or '无'}")

注:默认list()方法仅返回最新版本,必须加上list_all_versions=True参数才能获取全量版本。

2. 获取最新版本的上一版本

先将所有版本按创建时间(或版本号)降序排序,再取排序后的第二个元素即可:

# 转换为列表并按创建时间倒序排列(最新版本在前)
sorted_versions = sorted(all_versions, key=lambda x: x.created_on, reverse=True)

# 判断版本数量是否满足条件
if len(sorted_versions) >= 2:
    previous_version = sorted_versions[1]
    print(f"上一版本信息:版本号={previous_version.version}, 创建时间={previous_version.created_on}")
    # 如需加载该版本数据集,执行以下代码
    # loaded_dataset = ml_client.data.get(name=target_dataset, version=previous_version.version)
else:
    print("该数据集仅1个版本或无版本,无法获取上一版本")

如果你的数据集版本号采用递增数字命名(如v1、v2、v3),也可以按版本号排序:

sorted_versions = sorted(all_versions, key=lambda x: int(x.version.lstrip('v')), reverse=True)

用于识别数据趋势变化的思路

拿到相邻版本的数据集后,可通过以下方式分析趋势变化:

  • 对比特征的统计指标(均值、方差、分位数)差异
  • 检查样本量、特征数量的增减
  • 计算数据漂移指标(PSI、KL散度)量化分布变化
  • 对比标签(若有)的分布差异

这些分析能帮你判断数据是否发生了显著变化,进而决定是否需要调整模型训练流程或数据处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 18:31:16