tensorflow/data-validation

Library for exploring and validating machine learning data

TensorFlow Data Validation (TFDV)

何であるか – TensorFlowモデルの学習に使用される表形式データを探索、理解、検証するのに役立つPythonライブラリです。TensorFlow Extended (TFX) パイプラインに直接統合できますが、スタンドアロンツールとしても使用可能です。

主要機能

  • スケーラブルな統計 – Apache Beamを使用して、大規模データセット上で特徴ごとの要約統計(平均、最小/最大、ヒストグラムなど)を計算します。
  • スキーマの推論と適用 – 期待される型、値の範囲、語彙、必須フィールドなどを記述するTensorFlow Metadataスキーマを自動生成し、入力データがそのスキーマに準拠しているかチェックします。
  • 異常検出 – 欠損したフィールド、範囲外の値、予期しない型、その他のデータ品質問題を検出します。
  • 可視化 – Facets UIと統合され、統計、スキーマ、検出された異常のための組み込みビューアを提供します。
  • 分散実行 – 小規模なジョブではローカルで実行可能で、大規模データ処理にはCloud Dataflowや他のBeamランナーで実行できます。

一般的なワークフロー

  1. データの取り込み(CSV、TFRecord、Parquetなど)をBeamパイプラインに投入します。
  2. tfdv.generate_statistics_from_csv(または類似関数)で統計を生成します。
  3. tfdv.infer_schema を使用して統計からスキーマを推論します。
  4. tfdv.validate_statistics を使って新しいデータをスキーマと照合します。
  5. Facets UIで結果を確認するか、プログラムで異常を処理します。

インストール

pip install tensorflow-data-validation   # ステーブルリリース
# または、最新のナイトリービルドを使用する場合:
export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation

Linux向けのDockerイメージも提供されており、再現可能なビルドが可能です。

依存関係 – TensorFlow、Apache Beam(分散処理用)、Apache Arrow(効率的なメモリ内カラム形式表現用)が必要です。

誰が使うべきか – 大規模なTensorFlowパイプラインを扱う際、モデルトレーニングや本番監視の一部として信頼性の高い自動データ品質チェックが必要なデータエンジニアやML実践者。

さらに学ぶ – ガイド、例題のColabノートブック、APIドキュメント、およびSysML’19論文(基盤技術の説明)はREADMEにリンクされています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch