SchemaGen TFX 管道元件

部分 TFX 元件會使用稱為結構描述的輸入資料描述。結構描述是 schema.proto 的執行個體。它可以指定特徵值的資料類型、特徵是否必須出現在所有範例中、允許的值範圍和其他屬性。SchemaGen 管道元件將透過從訓練資料推斷類型、類別和範圍,自動產生結構描述。

  • 取用:來自 StatisticsGen 元件的統計資料
  • 發出:資料結構描述原型

以下是結構描述原型摘錄

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

下列 TFX 程式庫使用結構描述

  • TensorFlow Data Validation
  • TensorFlow Transform
  • TensorFlow Model Analysis

在典型的 TFX 管道中,SchemaGen 會產生結構描述,供其他管道元件取用。但是,自動產生的結構描述是盡力而為,只嘗試推斷資料的基本屬性。預期開發人員會視需要檢閱和修改結構描述。

修改後的結構描述可以使用 ImportSchemaGen 元件帶回管道中。用於初始結構描述產生的 SchemaGen 元件可以移除,而所有下游元件都可以使用 ImportSchemaGen 的輸出。也建議使用匯入的結構描述新增 ExampleValidator,以持續檢查訓練資料。

SchemaGen 和 TensorFlow Data Validation

SchemaGen 廣泛使用 TensorFlow Data Validation 來推斷結構描述。

使用 SchemaGen 元件

用於初始結構描述產生

SchemaGen 管道元件通常非常容易部署,而且幾乎不需要自訂。典型的程式碼如下所示

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

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

用於檢閱的結構描述匯入

將 ImportSchemaGen 元件新增至管道,以將檢閱的結構描述定義帶入管道中。

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

schema_file 應該是文字 protobuf 檔案的完整路徑。

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