【问题标题】:How to run the nodes in sequence as declared in kedro pipeline?如何按照kedro管道中声明的顺序运行节点?
【发布时间】:2019-11-04 02:38:18
【问题描述】:

在 Kedro 管道中,节点(类似于 python 函数)是按顺序声明的。在某些情况下,一个节点的输入是前一个节点的输出。但是,有时在命令行中调用kedro run API 时,节点并没有按顺序运行。

在 kedro 文档中,它说默认情况下节点按顺序运行。

我的 run.py 代码:

def main(
tags: Iterable[str] = None,
env: str = None,
runner: Type[AbstractRunner] = None,
node_names: Iterable[str] = None,
from_nodes: Iterable[str] = None,
to_nodes: Iterable[str] = None,
from_inputs: Iterable[str] = None,
):

project_context = ProjectContext(Path.cwd(), env=env)
project_context.run(
    tags=tags,
    runner=runner,
    node_names=node_names,
    from_nodes=from_nodes,
    to_nodes=to_nodes,
    from_inputs=from_inputs,
)

目前我的最后一个节点有时会在我的前几个节点之前运行。

【问题讨论】:

    标签: python machine-learning kedro


    【解决方案1】:

    我从 Kedro github 收到的答案:

    Pipeline 排他性地根据 目前的数据集依赖关系(节点输入和输出)。所以 指示节点 A 应在节点 B 之前运行的唯一选项是 将一个虚拟数据集作为节点 A 的输出和节点 B 的输入。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多