节点介绍

节点是 Towhee 管道中的构建块。每个节点都有其自己的功能或转换来处理数据。通过组合每个节点,您可以创建有向无环图 (DAGs) 并构建管道。如果您是 Towhee 的初学者,强烈建议在阅读编程指南之前首先学习“创建您的第一个管道”部分。

节点类型

目前,Towhee 支持九种类型的节点。输入和输出节点用于管道输入和输出的定义。其余七种类型的节点,每种都具有独特的数据转换,通常用于数据处理和分析。以下表格列出了 Towhee 中的九种节点类型以及它们对应的接口。

节点类型 描述
input(input_schema) 此节点定义管道的输入模式,并且是管道定义的开始。请注意,管道的输入模式不能为空。有关更多详细信息,请参阅 input API。
output(output_schema) 此节点定义管道的输出模式,并结束管道的定义。一旦调用,将创建并返回一个管道实例。有关更多详细信息,请参阅 output API。
map(input_schema, output_schema, func) 此节点将给定的函数 func 应用于其每个输入,并返回转换后的数据。对于每一行输入,map 返回一行。有关更多详细信息,请参阅 map API。
flat_map(input_schema, output_schema, func) 此节点在将函数应用于每一行输入后,展平结果,并分别返回展平的数据。与 map 不同,flat_map 返回的数据行数可以与输入相同或更多。这是 flat_map 和 map 之间的主要区别之一,map 总是返回与输入相同数量的行。有关更多详细信息,请参阅 flat_map API。
filter(input_schema, output_schema, filter_columns, func) 此节点将过滤函数 func 应用于 filter_columns。有关更多详细信息,请参阅 filter API。
window(input_schema, output_schema, size, step, func) 此节点将输入行批处理成多行,基于指定的窗口大小和步骤。然后,它将对每个窗口的数据应用函数 func,并返回结果 - 对于每个窗口的一个结果行。有关更多详细信息,请参阅 window API。
time_window(input_schema, output_schema, timestamp_col, size, step, func) 此节点用于批处理具有时间顺序的行,例如音频或视频帧。time_window 类似于 window,但批处理规则基于时间戳列 (timestamp_col)。size 是每个窗口的时间间隔,step 确定窗口从前一个窗口移动的时间。请注意,如果 step 小于 size,则窗口将重叠。有关更多详细信息,请参阅 time_window API。
window_all(input_schema, output_schema, func) 此节点将所有输入行批处理成一个窗口,并通过将函数 func 应用于窗口来返回结果。有关更多详细信息,请参阅 window_all API。
concat(pipelines) 此节点连接多个管道的中间结果,并将所有管道分组到一个更大的管道中。有关更多详细信息,请参阅 concat API。