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