TensorFlow 変換,TensorFlow 変換

GitHub で見る

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に送信してください。