評価保存モデルの構成

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

TensorFlowモデル分析(TFMA)特別にモデルの評価グラフをエクスポートすることができSavedModel呼ばEvalSavedModel 。 (評価グラフがトレーニングまたは推論するためにグラフを使用しないことに注意してください。) EvalSavedModel TFMAデータとユーザ定義の大量の上に分散してモデルで定義された同一の評価指標を計算することを可能にする追加情報が含まれていスライス。

既存のモデルを変更する

TFMAと既存のモデルを使用するには、最初にエクスポートするモデルを変更EvalSavedModel 。これは、呼び出しを追加することによって行われtfma.export.export_eval_savedmodelとに似てestimator.export_savedmodel 。例えば:

# Define, train and export your estimator as usual
estimator = tf.estimator.DNNClassifier(...)
estimator.train(...)
estimator.export_savedmodel(...)

# Also export the EvalSavedModel
tfma.export.export_eval_savedmodel(
  estimator=estimator, export_dir_base=export_dir,
  eval_input_receiver_fn=eval_input_receiver_fn)

eval_input_receiver_fn定義されたとに似ているしなければならないserving_input_receiver_fnためestimator.export_savedmodel 。ようserving_input_receiver_fneval_input_receiver_fn機能は、入力されたプレースホルダの例を定義例からの特徴を解析し、解析された特徴を返します。ラベルを解析して返します。

次のコードは、例えば、定義eval_input_receiver_fn

country = tf.feature_column.categorical_column_with_hash('country', 100)
language = tf.feature_column.categorical_column_with_hash('language', 100)
age = tf.feature_column.numeric_column('age')
label = tf.feature_column.numeric_column('label')

def eval_input_receiver_fn():
  serialized_tf_example = tf.compat.v1.placeholder(
      dtype=tf.string, shape=[None], name='input_example_placeholder')

  # This *must* be a dictionary containing a single key 'examples', which
  # points to the input placeholder.
  receiver_tensors = {'examples': serialized_tf_example}

  feature_spec =  tf.feature_column.make_parse_example_spec(
      [country, language, age, label])
  features = tf.io.parse_example(serialized_tf_example, feature_spec)

  return tfma.export.EvalInputReceiver(
    features=features,
    receiver_tensors=receiver_tensors,
    labels=features['label'])

この例では、次のことがわかります。

  • labelsまた、辞書ことができます。多頭モデルに便利です。
  • eval_input_receiver_fn機能は、ほとんどの場合、あなたと同じになりますserving_input_receiver_fn機能。ただし、場合によっては、スライス用の追加機能を定義する必要があります。たとえば、あなたが紹介age_category分割機能age複数のバケットに機能を。次に、TFMAでこの機能をスライスして、モデルのパフォーマンスがさまざまな年齢カテゴリ間でどのように異なるかを理解するのに役立てることができます。

エクスポート後のメトリックの追加

モデルに含まれていない追加のメトリックが使用してadedできadd_metrics_callbacks 。詳細については、のためのPythonのヘルプを参照run_model_analysis

エンドツーエンドの例

広範囲試しエンドツーエンドの例をフィーチャーしTensorFlow変換を、機能の前処理にTensorFlow推定量、訓練のためにTensorFlowモデル分析、評価のためとJupyter、およびTensorFlowはサービングサービス提供のために。

カスタムのエクスポート後メトリックの追加

あなたがTFMAに独自のカスタムポスト輸出メトリックを追加したい場合は、ドキュメントをチェックアウトしてくださいここに