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

如何通过AzureML SDK v2编程获取指标超阈值的实验

检索AzureML中作业Y指标达标实验名称的方法

步骤说明

  1. 连接到AzureML工作区
  2. 遍历所有实验,获取每个实验下的流水线运行记录
  3. 定位流水线中的作业Y,提取目标指标(如F1)
  4. 筛选出指标值大于设定阈值的实验名称

代码实现(使用AzureML Python SDK v2)

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_job_name = "作业Y"
target_metric = "F1"
threshold = 0.8  # 自定义阈值

# 存储符合条件的实验名称
qualified_experiments = []

# 遍历所有实验
for experiment in ml_client.experiments.list():
    # 获取实验下的所有流水线运行
    for run in ml_client.jobs.list(experiment_name=experiment.name):
        # 仅处理流水线类型的作业
        if run.type == "pipeline":
            # 遍历流水线中的子作业
            for child_job in run.children:
                if child_job.name == target_job_name:
                    # 读取作业的指标
                    metrics = ml_client.jobs.get(child_job.id).metrics
                    if target_metric in metrics:
                        metric_value = metrics[target_metric]
                        if metric_value > threshold:
                            qualified_experiments.append(experiment.name)
                            # 避免同一实验多次添加
                            break
            break

# 输出结果
print("符合条件的实验名称:")
for exp_name in set(qualified_experiments):
    print(exp_name)

关键说明

  • 确保已安装AzureML SDK v2:pip install azure-ai-ml
  • 若使用服务 principal 认证,需替换DefaultAzureCredential()为对应认证方式
  • 指标名称需与作业中记录的完全一致(区分大小写)
  • 代码中通过set(qualified_experiments)去重,避免同一实验因多次运行被重复添加

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 09:12:02