【问题标题】:is TFX meant to be used for data preprocessingTFX 是用于数据预处理的吗
【发布时间】:2019-05-23 20:34:53
【问题描述】:

如果我的方法正确,我想了解如何使用 TFX。 我的最终目标是对需要一些预处理的原始系列数据流进行一些预测。

通常我们有运行基本分析的 flink 作业,例如窗口化、分组和计算统计信息。 然而,当时的想法是将这些管道移动到梁上,并让 TFX 使用这些梁组件进行进一步的计算。

这被证明是相当具有挑战性的,因为 TFX 组件具有严格的 API,并且期望所有中间数据都是 TFRecords。

所以我的问题是,TFX 的目标是处理所有预处理逻辑(分组、窗口化……等等),还是更多地用于数据工程?

【问题讨论】:

    标签: tfx


    【解决方案1】:

    TFX 旨在处理所有预处理逻辑。 TensorFlow Transform 的内置功能可以满足您的要求。其中一些如下所示:

    tft.bucketize, tft.compute_and_apply_vocabulary, tft.pca, tft.scale_to_z_score, etc..
    

    是的,TFX 组件(尤其是 TF 变换)要求所有中间数据为 TF.Example 格式。并且有一些简单的方法可以将我们的数据集转换为该格式。

    CSV数据转换为TF.Example的代码如下:

    from tfx.utils.dsl_utils import csv_input
    from tfx.components.example_gen.csv_example_gen.component import CsvExampleGen
    
    examples = csv_input(os.path.join(base_dir, 'data/simple'))
    example_gen = CsvExampleGen(input_base=examples)
    

    TF Transform 可以接受的其他数据转换方式是:

    converter = tft.coders.CsvCoder(ordered_columns, RAW_DATA_METADATA.schema)
    

    有关更多信息,请参阅链接,

    https://www.tensorflow.org/tfx/guide/examplegen

    https://www.tensorflow.org/tfx/tutorials/transform/census#transform_the_data

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      相关资源
      最近更新 更多