SchemaGenTFXパイプラインコンポーネント

いくつかの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リファレンス