python - 在 Kedro Notebook 中设置参数
问题描述
是否可以覆盖从 Kedro 笔记本中的 parameters.yaml 文件中获取的属性?
我正在尝试动态更改笔记本中的参数值。我希望能够让用户能够运行标准管道但具有可自定义的参数。我不想更改 YAML 文件,我只想更改笔记本寿命的参数。
我尝试在上下文中编辑参数,但这没有影响。
context.params.update({"test_param": 2})
我是否遗漏了什么,或者这不是预期的用例?
解决方案
Kedro 支持通过运行从命令行指定额外的参数
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
这将更新在来自配置的常规参数之上应用的额外参数。
推荐阅读
- generics - 为什么不能将 `&(?Sized + Trait)` 转换为 `&dyn Trait`?
- regex - 如何将 express 查询参数解析为 mongodb 正则表达式查询?
- python - Python中具有可迭代属性的类继承
- python - 无法使用python跳过csv文件中的标题行
- r - MLR,错误分类的示例相关成本,makeCostSensWeightedPairsWrapper
- python - 如何在列表中获取随机项目,并从第二个列表中获取另一个具有第一个选择名称的随机项目
- javascript - 客户端中的 JSON 与 Rails 服务器返回的 JSON 不同
- node.js - 如何修复 UnhandledPromiseRejectionWarning
- android - Android SharedPreferences 类使用错误的注解引用
- python - PEPPER (SoftBank Robotics):如何在 Coregraphe 的对话框中管理 ALMemory 存储的数据?