TensorflowCatalog クラス

定義

これは TensorFlowTransformer 、次の 2 つのシナリオで使用されます。

  1. 事前トレーニング済みの TensorFlow モデルを使用したスコア付け: このモードでは、変換は事前トレーニング済みの Tensorflow モデルから非表示レイヤーの値を抽出し、出力を ML.Net パイプラインの機能として使用します。
  2. TensorFlow モデルの再トレーニング: このモードでは、変換は、パイプラインを介して渡されたユーザー データを使用して TensorFlow モデル ML.Net 再トレーニングします。 モデルがトレーニングされると、その出力をスコアリングの特徴として使用できます。
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
継承
TensorflowCatalog

注釈

TensorFlowTransform は、事前トレーニング済みの Tensorflow モデルを使用して、指定された出力を抽出します。 必要に応じて、ユーザー データの TensorFlow モデルをさらに再トレーニングして、ユーザー データのモデル パラメーターを調整できます ("Transfer Learning" とも呼ばれます)。

スコアリングの場合、変換は、事前トレーニング済みの Tensorflow モデル、入力ノードの名前、および抽出する値を持つ出力ノードの名前を入力として受け取ります。 再トレーニングの場合、変換には、TensorFlow グラフ内の最適化操作の名前、グラフ内の学習率操作の名前とその値、計算損失とパフォーマンス メトリックに対するグラフ内の操作の名前などのトレーニング関連パラメーターも必要です。

この変換を行うには、 Microsoft.ML.TensorFlow nuget をインストールする必要があります。 TensorFlowTransform には、入力、出力、データの処理、再トレーニングに関する次の前提条件があります。

  1. 入力モデルの場合、現在、TensorFlowTransform では 、固定モデル 形式と SavedModel 形式の両方がサポートされています。 ただし、モデルの再トレーニングは SavedModel 形式でのみ可能です。 現在、チェックポイント 形式はスコアリングと再トレーニングのどちらもサポートされていません。これは、読み込みに対する TensorFlow C-API のサポートがないためです。
  2. 変換では、一度に 1 つの例のみをスコアリングできます。 ただし、再トレーニングはバッチで実行できます。
  3. TensorFlow C-API を使用したモデル内でのネットワーク/グラフ操作のサポートがないため、高度な転送学習/微調整シナリオ (ネットワークへのレイヤーの追加、入力の形状の変更、再トレーニングプロセス中に更新する必要のないレイヤーの凍結など) は現在不可能です。
  4. 入力列の名前は、TensorFlow モデルの入力の名前と一致する必要があります。
  5. 各出力列の名前は、TensorFlow グラフ内のいずれかの操作と一致する必要があります。
  6. 現在、double、float、long、int、short、sbyte、ulong、uint、ushort、byte、bool は、入力/出力に許容されるデータ型です。
  7. 成功すると、変換によって、指定された各出力列に IDataView 対応する新しい列が導入されます。

TensorFlow モデルの入力と出力は、ツールまたはsummarize_graph ツールをGetModelSchema()使用して取得できます。

メソッド

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

TensorFlow モデルをメモリに読み込みます。 これは、モデルを 1 回読み込み、後でスキーマのクエリと使用ScoreTensorFlowModel(String, String, Boolean)TensorFlowEstimator作成に使用できるようにする便利なメソッドです。 この API を使用するには、TensorFlow redist に対する追加の NuGet 依存関係が必要です。詳細については、リンクされたドキュメントを参照してください。 TensorFlowModel また、Dispose() の明示的な呼び出しで解放する必要があるアンマネージ リソースへの参照を保持します。または、"using" 構文で変数を宣言することによって暗黙的に解放する必要があります。>

LoadTensorFlowModel(ModelOperationsCatalog, String)

TensorFlow モデルをメモリに読み込みます。 これは、モデルを 1 回読み込み、後でスキーマのクエリと使用ScoreTensorFlowModel(String, String, Boolean)TensorFlowEstimator作成に使用できるようにする便利なメソッドです。 この API を使用するには、TensorFlow redist に対する追加の NuGet 依存関係が必要です。詳細については、リンクされたドキュメントを参照してください。 TensorFlowModel また、Dispose() の明示的な呼び出しで解放する必要があるアンマネージ リソースへの参照を保持します。または、"using" 構文で変数を宣言することによって暗黙的に解放する必要があります。>

適用対象

こちらもご覧ください