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

如何在Kedro Pipeline中添加参数并确保指定参数正常传递?

Kedro Pipeline参数传递解决方案(含测试场景)

以下是不同场景下的处理方法,可按需选择:

  • 常规运行场景(依赖配置文件)
    Kedro默认会加载conf/<环境名>/parameters.yml中的参数,你只需在该文件中添加对应配置即可:
    lr: 0.001 # 替换为实际需要的学习率取值
    
    配置后节点输入声明的params:lr会自动匹配到该值。
  • 单元测试场景(无需修改全局配置)
    编写测试用例时可通过KedroSession的extra_params参数临时注入参数,示例代码:
    from pathlib import Path
    from kedro.framework.session import KedroSession
    from kedro.framework.startup import bootstrap_project
    
    # 加载项目元信息
    bootstrap_project(Path("你的项目根目录路径"))
    
    with KedroSession.create(
        extra_params={"lr": 0.001} # 直接注入需要的lr参数
    ) as session:
        # 运行指定pipeline
        session.run(pipeline_name="training")
    
  • 单节点测试场景
    仅测试单个训练节点时,无需启动完整Kedro会话,直接将lr作为普通参数传入节点函数即可:
    from your_project.pipelines.training.nodes import train_model
    
    output = train_model(
        train_dataset=测试用训练数据集,
        lr=0.001, # 直接传入lr取值
        # 补充其他节点需要的输入参数
    )
    
  • 命名空间适配场景
    如果你的训练pipeline绑定了特定命名空间,需要保证参数路径匹配:比如pipeline命名空间为training,则节点输入需声明为params:training.lr,对应parameters.yml配置为:
    training:
      lr: 0.001
    
    若用extra_params注入则传入{"training": {"lr": 0.001}}即可。
  • CLI运行场景
    通过命令行运行pipeline时,可直接追加参数覆盖配置:
    kedro run --params lr=0.001
    多参数用逗号分隔:kedro run --params lr=0.001,batch_size=32

内容的提问来源于stack exchange,提问作者N. Bhattarai

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 11:39:00