使用 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(...)
。
我正在尝试将我在 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(...)
。