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 參考資料。