いくつかのTFXコンポーネントは、スキーマと呼ばれる入力データの記述を使用しています。スキーマはのインスタンスであるschema.proto 。フィーチャ値のデータ型、フィーチャがすべての例に存在する必要があるかどうか、許可される値の範囲、およびその他のプロパティを指定できます。 SchemaGenパイプラインコンポーネントは、トレーニングデータからタイプ、カテゴリ、および範囲を推測することにより、スキーマを自動的に生成します。
- 消費:StatisticsGenコンポーネントからの統計
- Emits:データスキーマプロト
スキーマプロトからの抜粋は次のとおりです。
...
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データの検証
- TensorFlow変換
- TensorFlowモデル分析
典型的なTFXパイプラインでは、SchemaGenはスキーマを生成し、それは他のパイプラインコンポーネントによって消費されます。ただし、自動生成されたスキーマは最善の努力であり、データの基本的なプロパティを推測しようとするだけです。開発者は必要に応じてレビューおよび変更することが期待されます。
変更されたスキーマは、ImportSchemaGenコンポーネントを使用してパイプラインに戻すことができます。最初のスキーマ生成用のSchemaGenコンポーネントは削除でき、すべてのダウンストリームコンポーネントはImportSchemaGenの出力を使用できます。また、追加することをお勧めしますExampleValidatorを継続的にトレーニングデータを調べるためにインポートされたスキーマを使用して。
SchemaGenとTensorFlowのデータ検証
SchemaGenは、広範囲に使用可能TensorFlowデータの検証スキーマを推論するために。
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リファレンス。