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