【问题标题】:Using dictionary rather than parameter.yml for Kedro对 Kedro 使用字典而不是 parameter.yml
【发布时间】:2020-08-20 15:14:32
【问题描述】:

有没有办法使用字典而不是为 parameters.yml 使用 yaml 配置?我想将它保留为 Python 对象,因为我的 IDE 可以轻松跟踪依赖关系。对于我的参数,我在其中注入函数。

如果我需要使用 yml,我将不得不使用

def steps1(x, func1):
   func1 = eval(func1)

这将很容易破坏重构功能。

【问题讨论】:

    标签: kedro


    【解决方案1】:

    您可以覆盖 src.package_name.run.ProjectContext 中的 params 属性,以便它使用 Python 字典而不是配置加载器。也欢迎您编写您的自定义 ConfigLoader 并改用它(通过覆盖 _create_config_loader),但这可能需要更多的努力。 请记住,Kedro 中的参数意味着“尽可能地愚蠢”,因为它被认为是静态配置,最好从代码中分离出来。您用表达式描述的内容听起来更适合节点。

    【讨论】:

    • 我不知道动态构建管道的最佳实践是什么。您是否建议我应该为所有这些函数创建节点,并使用表达式仅添加需要执行的节点?
    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    • 2017-08-23
    • 2011-11-02
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多