Kedro支持通过运行从命令行指定额外参数
是否可以覆盖Kedro笔记本中parameters.yaml文件中的属性?
我正在尝试在笔记本中动态更改参数值。我希望能够为用户提供运行标准管道的能力,但具有可自定义的参数。我不想更改YAML文件,我只想更改笔记本寿命的参数。
我试过在上下文中编辑params,但这没有影响。
context.params.update({"test_param": 2})
我是遗漏了什么,还是这不是一个预期的用例?
kedro run --params "key1:value1,key2:value2"
这解决了您的第二个用例。
至于笔记本电脑用例,更新context.params
没有任何效果,因为上下文不会在self
上存储参数,而是在每次调用属性时从配置中提取参数。
然而,在实例化后,您仍然可以向上下文对象添加额外的参数:
extra_params = context._extra_params or {}
extra_params.update({"test_param": 2})
context._extra_params = extra_params
这将更新在来自配置的常规参数之上应用的额外参数。