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ランナーで実行できます。
一般的なワークフロー
- データの取り込み(CSV、TFRecord、Parquetなど)をBeamパイプラインに投入します。
tfdv.generate_statistics_from_csv(または類似関数)で統計を生成します。tfdv.infer_schemaを使用して統計からスキーマを推論します。tfdv.validate_statisticsを使って新しいデータをスキーマと照合します。- 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