TensorFlow Transform は、TensorFlow でデータを前処理するためのライブラリです。 tf.Transform 、次のようなフルパスを必要とするデータに役立ちます。
- 入力値を平均と標準偏差によって正規化します。
- すべての入力値に対して語彙を生成することにより、文字列を整数に変換します。
- 観察されたデータ分布に基づいて浮動小数点をバケットに割り当てることにより、浮動小数点を整数に変換します。
TensorFlow には、単一のサンプルまたはサンプルのバッチに対する操作のサポートが組み込まれています。 tf.Transformこれらの機能を拡張して、サンプル データのフルパスをサポートします。
tf.Transformの出力は、トレーニングとサービスに使用するTensorFlow グラフとしてエクスポートされます。トレーニングとサービスの両方に同じグラフを使用すると、両方の段階で同じ変換が適用されるため、スキューを防ぐことができます。
tf.Transformの概要については、TFX Dev Summit の TFX 講演 (リンク) のtf.Transformセクションを参照してください。
インストール
tensorflow-transform PyPI パッケージは、 tf.Transformインストールするための推奨される方法です。
pip install tensorflow-transform
ソースから TFT をビルドする
ソースからビルドするには、次の手順に従います。 コマンドを実行して仮想環境を作成します。
python3 -m venv <virtualenv_name>
source <virtualenv_name>/bin/activate
pip3 install setuptools wheel
git clone https://github.com/tensorflow/transform.git
cd transform
python3 setup.py bdist_wheel
これにより、dist ディレクトリに TFT ホイールが構築されます。 dist ディレクトリからホイールをインストールするには、次のコマンドを実行します。
cd dist
pip3 install tensorflow_transform-<version>-py3-none-any.whl
ナイトリーパッケージ
TFT は、Google Cloud 上のhttps://pypi-nightly.tensorflow.orgで夜間パッケージもホストしています。最新の夜間パッケージをインストールするには、次のコマンドを使用してください。
pip install --extra-index-url https://pypi-nightly.tensorflow.org/simple tensorflow-transform
これにより、TensorFlow Metadata (TFMD)、TFX Basic Shared Libraries (TFX-BSL) などの TFT の主要な依存関係の夜間パッケージがインストールされます。
注目すべき依存関係
TensorFlow が必要です。
Apache Beam が必要です。これは、効率的な分散計算をサポートする方法です。デフォルトでは、Apache Beam はローカル モードで実行されますが、 Google Cloud Dataflowや他の Apache Beamランナーを使用して分散モードで実行することもできます。
Apache Arrowも必要です。 TFT は、ベクトル化された numpy 関数を利用するために Arrow を使用して内部でデータを表現します。
互換性のあるバージョン
次の表は、相互に互換性のあるtf.Transformパッケージのバージョンを示しています。これはテスト フレームワークによって決定されますが、テストされていない他の組み合わせも機能する可能性があります。
| テンソルフロー変換 | Apache-ビーム[gcp] | パイアロー | テンソルフロー | テンソルフローメタデータ | tfx-bsl |
|---|---|---|---|---|---|
| GitHub マスター | 2.47.0 | 10.0.0 | 夜間 (2.x) | 1.15.0 | 1.15.1 |
| 1.15.0 | 2.47.0 | 10.0.0 | 2.15 | 1.15.0 | 1.15.1 |
| 1.14.0 | 2.47.0 | 10.0.0 | 2.13 | 1.14.0 | 1.14.0 |
| 1.13.0 | 2.41.0 | 6.0.0 | 2.12 | 1.13.1 | 1.13.0 |
| 1.12.0 | 2.41.0 | 6.0.0 | 2.11 | 1.12.0 | 1.12.0 |
| 1.11.0 | 2.41.0 | 6.0.0 | 1.15.5 / 2.10 | 1.11.0 | 1.11.0 |
| 1.10.0 | 2.40.0 | 6.0.0 | 1.15.5 / 2.9 | 1.10.0 | 1.10.0 |
| 1.9.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.9 | 1.9.0 | 1.9.0 |
| 1.8.0 | 2.38.0 | 5.0.0 | 1.15.5 / 2.8 | 1.8.0 | 1.8.0 |
| 1.7.0 | 2.36.0 | 5.0.0 | 1.15.5 / 2.8 | 1.7.0 | 1.7.0 |
| 1.6.1 | 2.35.0 | 5.0.0 | 1.15.5 / 2.8 | 1.6.0 | 1.6.0 |
| 1.6.0 | 2.35.0 | 5.0.0 | 1.15.5 / 2.7 | 1.6.0 | 1.6.0 |
| 1.5.0 | 2.34.0 | 5.0.0 | 1.15.2 / 2.7 | 1.5.0 | 1.5.0 |
| 1.4.1 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
| 1.4.0 | 2.33.0 | 4.0.1 | 1.15.2 / 2.6 | 1.4.0 | 1.4.0 |
| 1.3.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.6 | 1.2.0 | 1.3.0 |
| 1.2.0 | 2.31.0 | 2.0.0 | 1.15.2 / 2.5 | 1.2.0 | 1.2.0 |
| 1.1.1 | 2.29.0 | 2.0.0 | 1.15.2 / 2.5 | 1.1.0 | 1.1.1 |
| 1.1.0 | 2.29.0 | 2.0.0 | 1.15.2 / 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.0 | 2.25.0 | 0.17.0 | 1.15 / 2.3 | 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.24.1 | 2.24.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.1 |
| 0.24.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.24.0 | 0.24.0 |
| 0.23.0 | 2.23.0 | 0.17.0 | 1.15 / 2.3 | 0.23.0 | 0.23.0 |
| 0.22.0 | 2.20.0 | 0.16.0 | 1.15 / 2.2 | 0.22.0 | 0.22.0 |
| 0.21.2 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 0.21.0 | 0.21.3 |
| 0.21.0 | 2.17.0 | 0.15.0 | 1.15 / 2.1 | 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.14.0 | 2.14.0 | 0.14.0 | 1.14 | 0.14.0 | 該当なし |
| 0.13.0 | 2.11.0 | 該当なし | 1.13 | 0.12.1 | 該当なし |
| 0.12.0 | 2.10.0 | 該当なし | 1.12 | 0.12.0 | 該当なし |
| 0.11.0 | 2.8.0 | 該当なし | 1.11 | 0.9.0 | 該当なし |
| 0.9.0 | 2.6.0 | 該当なし | 1.9 | 0.9.0 | 該当なし |
| 0.8.0 | 2.5.0 | 該当なし | 1.8 | 該当なし | 該当なし |
| 0.6.0 | 2.4.0 | 該当なし | 1.6 | 該当なし | 該当なし |
| 0.5.0 | 2.3.0 | 該当なし | 1.5 | 該当なし | 該当なし |
| 0.4.0 | 2.2.0 | 該当なし | 1.4 | 該当なし | 該当なし |
| 0.3.1 | 2.1.1 | 該当なし | 1.3 | 該当なし | 該当なし |
| 0.3.0 | 2.1.1 | 該当なし | 1.3 | 該当なし | 該当なし |
| 0.1.10 | 2.0.0 | 該当なし | 1.0 | 該当なし | 該当なし |
質問
tf.Transformの操作に関する質問は、 tensorflow-transformタグを使用してStack Overflowに送信してください。