午前9時PSTでMLシンポジウム、この10月19日(火曜日)の最初の女性の中にチューン今すぐ登録

Tensorflowモデル分析のセットアップ

構成

TFMAは、JSONにシリアル化されたプロトに構成を保存します。このプロトは、入力データ、出力データ、モデル仕様、メトリック仕様、およびスライス仕様に必要な構成を統合します。

すべてのTFMAパイプラインは、ベースライン(プライマリ)モデルと0個以上の候補(セカンダリ)モデルに関連付けられています。ベースラインモデルと候補モデルは、パイプラインの開始時にユーザーによって定義され、それぞれに一意の名前が必要です。以下は、ユーザーが使用できる一般的な構成セットアップの例です。

  • 単一モデルの評価:
    • 該当なし(つまり名前なし)
  • 検証ベースの評価:
    • baseline
    • candidate
  • モデル比較評価:
    • my_model_a
    • my_model_b

モデル仕様

モデル仕様はタイプtfma.ModelSpecあり、モデルの場所やその他のモデル固有のパラメーターを定義するために使用されます。たとえば、以下は、評価を実行する前に構成する必要がある一般的な設定です。

  • nameモデルの名前(複数のモデルが使用されている場合)
  • signature_name予測に使用されるシグニチャの名前(デフォルトはserving_default )。 EvalSavedModelを使用する場合は、 evalを使用します。
  • label_keyラベルに関連付けられている機能の名前。
  • example_weight_keyサンプルの重みに関連付けられた機能の名前。

メトリック仕様

メトリック仕様はタイプtfma.MetricsSpecあり、評価の一部として計算されるメトリックを構成するために使用されます。さまざまな機械学習の問題でさまざまなタイプの指標が使用され、TFMAには、計算される指標を構成およびカスタマイズするための多くのオプションが用意されています。メトリックはTFMAの非常に大きな部分であるため、メトリックで個別に詳細に説明されています

スライス仕様

スライス仕様はタイプtfma.SlicingSpecあり、評価中に使用されるスライス基準を構成するために使用されます。スライスは、 feature_keysfeature_values 、またはその両方で実行できます。スライス仕様の例は次のとおりです。

  • {}
    • 全体的なデータで構成されるスライス。
  • { feature_keys: ["country"] }
    • 機能「国」のすべての値のスライス。たとえば、「country:us」、「country:jp」などのスライスを取得できます。
  • { feature_values: [{key: "country", value: "us"}] }
    • 「country:us」で構成されるスライス。
  • { feature_keys: ["country", "city"] }
    • 機能「country」のすべての値のスライスが、機能「city」のすべての値と交差しています(これは高額になる可能性があることに注意してください)。
  • { feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
    • 値「age:20」と交差するフィーチャ「country」のすべての値のスライス

特徴キーは、変換された特徴または生の入力特徴のいずれかである可能性があることに注意してください。詳細については、 tfma.SlicingSpecを参照してください。

EvalSharedModel

構成設定に加えて、TFMAでは、同じプロセスの複数のスレッド間でモデルを共有するために、 tfma.EvalSharedModelインスタンスを作成する必要もあります。共有モデルインスタンスには、モデルのタイプ(kerasなど)と、ディスク上の保存場所(タグなど)からモデルをロードして構成する方法に関する情報が含まれています。 tfma.default_eval_shared_model APIを使用して、パスとタグのセットを指定してデフォルトのインスタンスを作成できます。