Path: blob/master/site/ja/lattice/tutorials/custom_estimators.ipynb
25118 views
Copyright 2020 The TensorFlow Authors.
TF Lattice カスタム Estimator
警告: Estimator を新しいコードに使用するのは推奨されません。Estimator は、
v1. Session
スタイルのコードを実行しますが、これは正しく記述するのがより難しく、特に TF2 コードと組み合わせると予期しない動作を見せる可能性があります。Estimator は、「互換性保証」(https://tensorflow.org/guide/versions)の対称ではありますが、追加機能が適用されることがなく、セキュリティ脆弱性以外の修正は行われません。詳細は、『[移行ガイド](https://tensorflow.org/guide/migrate)』をご覧ください。
概要
カスタム Estimator を使用すると、TFL (TensorFlow Lattice) レイヤーを用いて任意の単調モデルの作成ができます。このガイドでは、そのような Estimator の作成に必要な手順の概要を説明します。
セットアップ
TF Lattice パッケージをインストールします。
必要なパッケージをインポートします。
UCI Statlog(心臓)データセットをダウンロードします。
このガイドのトレーニングに使用するデフォルト値を設定します。
特徴量カラム
ほかの TF Estimator と同じように、Estimator にデータを渡す必要があります。通常は input_fn を用い、FeatureColumns を使用して解析します。
tfl.laysers.CategoricalCalibration
レイヤーは分類インデックスを直接使用できるため、分類特徴量を密な特徴量列でラップする必要はないので注意してください。
input_fn を作成する
ほかの Estimator と同じように、input_fn を使用してモデルのトレーニングと評価用のデータを投入します。
model_fn を作成する
カスタム Estimator を作成する方法はいくつかあります。ここでは、解析された入力テンソル上で Keras モデルを呼び出すmodel_fn
を構築します。入力特徴量の解析にはtf.feature_column.input_layer
、tf.keras.layer.DenseFeatures
、またはtfl.estimators.transform_features
を使用することができます。3 つ目を使用する場合は、分類特徴量を密な特徴量列でラップする必要がなく、結果で得られるテンソルは連結されないため、較正レイヤーで特徴量を使用しやすくなります。
モデルを構築する場合には、TFL レイヤーや他の Keras レイヤーを組み合わせることができます。ここでは TFL レイヤーから較正格子 Keras モデルを作成して、いくつかの単調性制約を課します。その後で、Keras モデルを使用してカスタム Estimator を作成します。
トレーニングと Estimator
model_fn
を使用して Estimator を作成し、トレーニングすることができます。