使用 tfx tensorflow 转换加入数据集

join datasets with tfx tensorflow transform

我正在尝试将我在 pandas 中完成的一些数据预处理复制到 tensorflow 转换中。 我有几个 CSV 文件,我用 pandas 加入并聚合这些文件以生成训练数据集。现在,作为模型生产的一部分,我希望这种预处理能够通过 apache beam 和 tensorflow transform 大规模完成。但是,我不太清楚如何在那里重现相同的数据操作。让我们看一下两个主要操作:JOIN 数据集 a 和数据集 b 生成 c 并在数据集 c 上按 col1 分组。这在 pandas 中是一个非常简单的操作,但我如何在 Apache Beam 上的张量流变换 运行 中执行此操作?我是否使用了错误的工具来完成这项工作?那么正确的工具是什么?

您可以使用 Beam Dataframes API 进行连接和其他预处理,就像在 Pandas 中一样。然后,您可以使用 to_pcollection 获取一个 PCollection,您可以将其直接传递给您的 Tensorflow Transform 操作,或将其保存为文件以供稍后阅读。

对于top-level 函数(例如合并),需要做

from apache_beam.dataframe.pandas_top_level_functions import pd_wrapper as beam_pd

并使用操作 beam_pd.func(...) 代替 pd.func(...)