StatisticsGen TFX 管道元件

StatisticsGen TFX 管道元件會針對訓練和服務資料產生特徵統計資料,其他管道元件可以使用這些資料。StatisticsGen 使用 Beam 來擴展至大型資料集。

  • 輸入:由 ExampleGen 管道元件建立的資料集。
  • 輸出:資料集統計資料。

StatisticsGen 和 TensorFlow 資料驗證

StatisticsGen 廣泛使用 TensorFlow Data Validation,從您的資料集產生統計資料。

使用 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。然後可以修改此結構描述原型,以傳達關於無法可靠推論的資料集的資訊,這將使 StatisticsGen 的輸出更有用,並使 ExampleValidator 元件中執行的驗證更加嚴格。

更多詳細資訊請參閱 StatisticsGen API 參考資料