StatisticsGen TFX 管道组件

StatisticsGen TFX 管道组件会生成训练数据和服务数据的特征统计信息,其他管道组件可以使用这些统计信息。StatisticsGen 使用 Beam 来扩展到大型数据集。

  • 使用:由 ExampleGen 管道组件创建的数据集。
  • 输出:数据集统计信息。

StatisticsGen 和 TensorFlow 数据验证

StatisticsGen 广泛使用 TensorFlow 数据验证 从您的数据集中生成统计信息。

使用 StatsGen 组件

StatisticsGen 管道组件通常非常易于部署,并且需要很少的自定义。典型的代码如下所示

compute_eval_stats = StatisticsGen(
      examples=example_gen.outputs['examples'],
      name='compute-eval-stats'
      )

使用带模式的 StatsGen 组件

对于管道的第一次运行,StatisticsGen 的输出将用于推断模式。但是,在后续运行中,您可能拥有一个手动整理的模式,其中包含有关数据集的更多信息。通过将此模式提供给 StatisticsGen,TFDV 可以根据您数据集的声明属性提供更有用的统计信息。

在此设置中,您将使用已由 ImporterNode 导入的整理模式调用 StatisticsGen,如下所示

user_schema_importer = Importer(
    source_uri=user_schema_dir, # directory containing only schema text proto
    artifact_type=standard_artifacts.Schema).with_id('schema_importer')

compute_eval_stats = StatisticsGen(
      examples=example_gen.outputs['examples'],
      schema=user_schema_importer.outputs['result'],
      name='compute-eval-stats'
      )

创建整理模式

Schema 在 TFX 中是 TensorFlow Metadata 的实例 Schema proto。这可以在 文本格式 中从头开始编写。但是,使用 SchemaGen 生成的推断模式作为起点更容易。一旦 SchemaGen 组件执行完毕,模式将位于管道根目录下的以下路径

<pipeline_root>/SchemaGen/schema/<artifact_id>/schema.pbtxt

其中 <artifact_id> 表示 MLMD 中此模式版本的唯一 ID。然后可以修改此模式 proto 以传达有关数据集的信息,这些信息无法可靠地推断出来,这将使 StatisticsGen 的输出更有用,并且在 ExampleValidator 组件中执行的验证更加严格。

更多详细信息可在 StatisticsGen API 参考 中找到。