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

如何在Azure机器学习中按特定子属性筛选PipelineRun

筛选Azure ML PipelineRun中parameters子键c值为def的实例

因为azureml.parameters存储的是字符串格式的Python字典,没法直接用一级属性的筛选方式,得先把字符串解析成字典再判断。具体操作步骤和代码如下:

  • 先获取目标Experiment下所有的PipelineRun实例
  • 遍历每个运行实例,提取azureml.parameters对应的字符串
  • 用安全的方式把字符串解析为Python字典
  • 检查字典中是否存在子键c且值等于def,符合条件的就保留

示例代码:

import ast

# 获取当前Experiment下所有PipelineRun
all_pipeline_runs = experiment.get_runs(type="azureml.PipelineRun")

# 初始化列表存储符合条件的运行
target_runs = []

for run in all_pipeline_runs:
    # 从运行属性中取出parameters的字符串
    params_str = run.properties.get("azureml.parameters", "{}")
    try:
        # 把字符串解析为字典(用ast.literal_eval比eval更安全)
        params_dict = ast.literal_eval(params_str)
        # 判断子键c的值是否为'def'
        if params_dict.get("c") == "def":
            target_runs.append(run)
    except (SyntaxError, ValueError):
        # 跳过那些parameters格式错误的运行
        continue

# target_runs就是你要找的符合条件的PipelineRun实例

注意点:

  • 用ast.literal_eval解析字符串字典,避免eval带来的安全风险
  • 增加异常处理,防止部分运行的parameters格式不规范导致程序中断
  • experiment.get_runs()返回的是迭代器,直接循环即可,不需要提前转成列表(如果需要反复遍历可以转成list)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:30:49