TensorFlow Data Validation (TFDV) は、機械学習データを探索および検証するためのライブラリです。スケーラビリティが高く、TensorFlow およびTensorFlow Extended (TFX)とうまく連携するように設計されています。
TF データ検証には次のものが含まれます。
- トレーニング データとテスト データの概要統計のスケーラブルな計算。
- データの分布と統計のためのビューアとの統合、および特徴のペアのファセット比較 ( Facets )
- 必要な値、範囲、語彙などのデータに関する期待を記述するデータ スキーマの自動生成
- スキーマの検査に役立つスキーマ ビューア。
- 異常検出。いくつか例を挙げると、機能の欠落、範囲外の値、間違った機能タイプなどの異常を特定します。
- 異常ビューア。どの機能に異常があるかを確認し、修正するために詳細を確認できます。
TFDV の使用手順については、スタート ガイドを参照し、サンプル ノートブックを試してください。 TFDV で実装されている技術の一部は、SysML'19 で公開された技術論文で説明されています。
PyPIからインストールする
TFDV をインストールする推奨方法は、PyPI パッケージを使用することです。
pip install tensorflow-data-validation
ナイトリーパッケージ
TFDV は、Google Cloud で夜間パッケージもホストします。最新の夜間パッケージをインストールするには、次のコマンドを使用してください。
export TFX_DEPENDENCY_SELECTOR=NIGHTLY
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-data-validation
これにより、TensorFlow Metadata (TFMD) や TFX Basic Shared Libraries (TFX-BSL) などの TFDV の主要な依存関係の夜間パッケージがインストールされます。
場合によっては、TFDV は、まだリリースされていない依存関係の最新の変更を使用します。このため、夜間 TFDV を使用する場合は、これらの依存ライブラリの夜間バージョンを使用する方が安全です。これを行うには、 TFX_DEPENDENCY_SELECTOR
環境変数をエクスポートします。
Docker でビルドする
これは、Linux で TFDV を構築するための推奨される方法であり、Google で継続的にテストされています。
1.Dockerをインストールする
まず、次の指示に従ってdocker
とdocker docker-compose
をインストールしてください。 docker-compose 。
2. TFDV リポジトリのクローンを作成します
git clone https://github.com/tensorflow/data-validation
cd data-validation
これらの手順では、TensorFlow Data Validation の最新の master ブランチがインストールされることに注意してください。特定のブランチ (リリース ブランチなど) をインストールする場合は、 -b <branchname>
をgit clone
コマンドに渡します。
3. pip パッケージをビルドする
次に、プロジェクトのルートで次のコマンドを実行します。
sudo docker-compose build manylinux2010
sudo docker-compose run -e PYTHON_VERSION=${PYTHON_VERSION} manylinux2010
ここで、 PYTHON_VERSION
{39, 310, 311}
のいずれかです。
ホイールはdist/
の下に生成されます。
4. pip パッケージをインストールする
pip install dist/*.whl
ソースからビルドする
1. 前提条件
TFDV をコンパイルして使用するには、いくつかの前提条件を設定する必要があります。
NumPy をインストールする
NumPy がシステムにインストールされていない場合は、次の手順に従って今すぐインストールしてください。
Bazel をインストールする
Bazel がシステムにインストールされていない場合は、次の手順に従って今すぐインストールしてください。
2. TFDV リポジトリのクローンを作成します
git clone https://github.com/tensorflow/data-validation
cd data-validation
これらの手順では、TensorFlow Data Validation の最新の master ブランチがインストールされることに注意してください。特定のブランチ (リリース ブランチなど) をインストールする場合は、 -b <branchname>
をgit clone
コマンドに渡します。
3. pip パッケージをビルドする
TFDV
ホイールは Python バージョンに依存します。特定の Python バージョンで動作する pip パッケージを構築するには、その Python バイナリを使用して実行します。
python setup.py bdist_wheel
生成された.whl
ファイルはdist
サブディレクトリにあります。
4. pip パッケージをインストールする
pip install dist/*.whl
サポートされているプラットフォーム
TFDV は、次の 64 ビット オペレーティング システムでテストされています。
- macOS 12.5 (モントレー) 以降。
- Ubuntu 20.04以降。
注目すべき依存関係
TensorFlow が必要です。
Apache Beam が必要です。これは、効率的な分散計算をサポートする方法です。デフォルトでは、Apache Beam はローカル モードで実行されますが、 Google Cloud Dataflowや他の Apache Beamランナーを使用して分散モードで実行することもできます。
Apache Arrowも必要です。 TFDV は、ベクトル化された numpy 関数を利用するために、Arrow を使用してデータを内部的に表現します。
互換性のあるバージョン
次の表に、相互に互換性のあるパッケージのバージョンを示します。これはテスト フレームワークによって決定されますが、テストされていない他の組み合わせも機能する可能性があります。
テンソルフローデータ検証 | Apache-ビーム[gcp] | パイアロー | テンソルフロー | テンソルフローメタデータ | テンソルフロー変換 | tfx-bsl |
---|---|---|---|---|---|---|
GitHub マスター | 2.47.0 | 10.0.0 | 夜間 (1.x/2.x) | 1.15.0 | 該当なし | 1.15.1 |
1.15.1 | 2.47.0 | 10.0.0 | 2.15 | 1.15.0 | 該当なし | 1.15.1 |
1.15.0 | 2.47.0 | 10.0.0 | 2.15 | 1.15.0 | 該当なし | 1.15.0 |
1.14.0 | 2.47.0 | 10.0.0 | 2.13 | 1.14.0 | 該当なし | 1.14.0 |
1.13.0 | 2.40.0 | 6.0.0 | 2.12 | 1.13.1 | 該当なし | 1.13.0 |
1.12.0 | 2.40.0 | 6.0.0 | 2.11 | 1.12.0 | 該当なし | 1.12.0 |
1.11.0 | 2.40.0 | 6.0.0 | 1.15 / 2.10 | 1.11.0 | 該当なし | 1.11.0 |
1.10.0 | 2.40.0 | 6.0.0 | 1.15 / 2.9 | 1.10.0 | 該当なし | 1.10.1 |
1.9.0 | 2.38.0 | 5.0.0 | 1.15 / 2.9 | 1.9.0 | 該当なし | 1.9.0 |
1.8.0 | 2.38.0 | 5.0.0 | 1.15 / 2.8 | 1.8.0 | 該当なし | 1.8.0 |
1.7.0 | 2.36.0 | 5.0.0 | 1.15 / 2.8 | 1.7.0 | 該当なし | 1.7.0 |
1.6.0 | 2.35.0 | 5.0.0 | 1.15 / 2.7 | 1.6.0 | 該当なし | 1.6.0 |
1.5.0 | 2.34.0 | 2.0.0 | 1.15 / 2.7 | 1.5.0 | 該当なし | 1.5.0 |
1.4.0 | 2.32.0 | 2.0.0 | 1.15 / 2.6 | 1.4.0 | 該当なし | 1.4.0 |
1.3.0 | 2.32.0 | 2.0.0 | 1.15 / 2.6 | 1.2.0 | 該当なし | 1.3.0 |
1.2.0 | 2.31.0 | 2.0.0 | 1.15 / 2.5 | 1.2.0 | 該当なし | 1.2.0 |
1.1.1 | 2.29.0 | 2.0.0 | 1.15 / 2.5 | 1.1.0 | 該当なし | 1.1.1 |
1.1.0 | 2.29.0 | 2.0.0 | 1.15 / 2.5 | 1.1.0 | 該当なし | 1.1.0 |
1.0.0 | 2.29.0 | 2.0.0 | 1.15 / 2.5 | 1.0.0 | 該当なし | 1.0.0 |
0.30.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.30.0 | 該当なし | 0.30.0 |
0.29.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.29.0 | 該当なし | 0.29.0 |
0.28.0 | 2.28.0 | 2.0.0 | 1.15 / 2.4 | 0.28.0 | 該当なし | 0.28.1 |
0.27.0 | 2.27.0 | 2.0.0 | 1.15 / 2.4 | 0.27.0 | 該当なし | 0.27.0 |
0.26.1 | 2.28.0 | 0.17.0 | 1.15 / 2.3 | 0.26.0 | 0.26.0 | 0.26.0 |
0.26.0 | 2.25.0 | 0.17.0 | 1.15 / 2.3 | 0.26.0 | 0.26.0 | 0.26.0 |
0.25.0 | 2.25.0 | 0.17.0 | 1.15 / 2.3 | 0.25.0 | 0.25.0 | 0.25.0 |
0.24.1 | 2.24.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.1 | 0.24.1 |
0.24.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.0 | 0.24.0 |
0.23.1 | 2.24.0 | 0.17.0 | 1.15 / 2.3 | 0.23.0 | 0.23.0 | 0.23.0 |
0.23.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.23.0 | 0.23.0 | 0.23.0 |
0.22.2 | 2.20.0 | 0.16.0 | 1.15 / 2.2 | 0.22.0 | 0.22.0 | 0.22.1 |
0.22.1 | 2.20.0 | 0.16.0 | 1.15 / 2.2 | 0.22.0 | 0.22.0 | 0.22.1 |
0.22.0 | 2.20.0 | 0.16.0 | 1.15 / 2.2 | 0.22.0 | 0.22.0 | 0.22.0 |
0.21.5 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.1 | 0.21.3 |
0.21.4 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.1 | 0.21.3 |
0.21.2 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.0 | 0.21.0 |
0.21.1 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.0 | 0.21.0 |
0.21.0 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.0 | 0.21.0 |
0.15.0 | 2.16.0 | 0.14.0 | 1.15 / 2.0 | 0.15.0 | 0.15.0 | 0.15.0 |
0.14.1 | 2.14.0 | 0.14.0 | 1.14 | 0.14.0 | 0.14.0 | 該当なし |
0.14.0 | 2.14.0 | 0.14.0 | 1.14 | 0.14.0 | 0.14.0 | 該当なし |
0.13.1 | 2.11.0 | 該当なし | 1.13 | 0.12.1 | 0.13.0 | 該当なし |
0.13.0 | 2.11.0 | 該当なし | 1.13 | 0.12.1 | 0.13.0 | 該当なし |
0.12.0 | 2.10.0 | 該当なし | 1.12 | 0.12.1 | 0.12.0 | 該当なし |
0.11.0 | 2.8.0 | 該当なし | 1.11 | 0.9.0 | 0.11.0 | 該当なし |
0.9.0 | 2.6.0 | 該当なし | 1.9 | 該当なし | 該当なし | 該当なし |
質問
TF データ検証の操作に関する質問は、 tensorflow-data-validationタグを使用してStack Overflowに送信してください。