MLコミュニティデーは11月9日です! TensorFlow、JAXからの更新のために私たちに参加し、より多くの詳細をご覧ください

TensorFlow2.xでtf.Transformを使用する

以降では0.30のリリースtf.Transform 、デフォルトの動作では、TF 2.xの行動を明示的に無効になっていない限り、TF 2.xのSavedModelをエクスポートすることです。このページには、使用するためのガイドを提供tf.Transform A TensorFlow 2.xのSavedModelとして変換グラフをエクスポートすることを。

TF2.xを使用したtf.Transformの新機能

内Kerasモデルのロードpreprocessing_fn

使用してくださいtft.make_and_track_object下の例に示すようにKerasモデルをロードするためにAPIを。

def preprocessing_fn(inputs):
  keras_model = tft.make_and_track_object(lambda: tf.keras.models.load_model(...), name='_unique_name')
  ...
  return {'keras_model_output': keras_model(inputs[...])}

TF 2.xtf.hubモジュールの使用

TF 2.xのハブモジュールはで動作tf.Transformときのみpreprocessing_fn追跡及びTF 2.xのSavedModel(これが始まるデフォルト動作であるとしてエクスポートさtensorflow_transform 0.30 )。使用してくださいtft.make_and_track_objectロードするためにAPIをtf.hub以下の例に示すようにモジュールを。

def preprocessing_fn(inputs):
  hub_module = tft.make_and_track_object(lambda: hub.load(...))
  ...
  return {'hub_module_output': hub_module(inputs[...])}

潜在的な移行の問題

既存の移行場合tf.Transform TF 2.xのにTF 1.xからパイプラインを、以下の問題が発生することがあります。

RuntimeError:あなたの中のアナライザの順序preprocessing_fn非決定的であるように思われます。

TF 2.xでは、 preprocessing_fnユーザによって提供さを数回追跡されます。 TFTアナライザーが検出される順序がトレースごとに変わると、このエラーが発生します。これは、TFTアナライザーが呼び出される順序で非決定論を削除することで修正できます。

出力transform_raw_features期待される機能が含まれていません。

例外の例:

KeyError: \<feature key>

また

\<feature key> not found in features dictionary.

TFTransformOutput.transform_raw_features無視drop_unused_featuresそれは本当であるかのようにパラメータと振舞います。このAPIからの出力ディクショナリの使用法を更新して、取得しようとしているキーがそこに存在するかどうかを確認してください。

tf.estimator.BaselineClassifierは、テーブルが初期化されていないというエラーを確認します。

例外の例:

tensorflow.python.framework.errors_impl.FailedPreconditionError: Table not initialized.

Estimatorベースのエグゼキュータを使用したTrainerのサポートはベストエフォートです。他の推定器は機能しますが、BaselineClassifierでのテーブルの初期化に問題があります。プリーズで無効TF 2.xのtf.Transform

既知の問題/機能はまだサポートされていません

TFRecord形式での語彙の出力はまだサポートされていません。

tfrecord_gzipまだ有効な値としてサポートされていないfile_format内のパラメータtft.vocabulary (及び他の語彙のAPI)。

従来のtf.Transform動作を保持する

あなたの場合はtf.TransformパイプラインはTF 2.xのを実行しないでください、あなたは、次のいずれかの方法で従来の動作を維持することができます。

  • で無効にTF2 tf.Transform呼び出すことtf.compat.v1.disable_v2_behavior()
  • 渡すforce_tf_compat_v1=Truetft_beam.Context使用している場合tf.TransformスタンドアロンのライブラリとしてまたはTFXで変換コンポーネントに。