語言

TensorflowCatalog 類別

定義

該 用於 TensorFlowTransformer 以下兩種情境。

  1. 使用預訓練 TensorFlow 模型評分:在此模式下,轉換會從預訓練的 Tensorflow 模型中提取隱藏層的值,並將輸出作為 ML.Net 管線中的特徵。
  2. TensorFlow 模型的重新訓練:在此模式下,轉換會利用流水線中傳遞的使用者資料 ML.Net 重新訓練 TensorFlow 模型。 一旦模型訓練完成,其輸出即可作為評分的特徵。
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
繼承
TensorflowCatalog

備註

TensorFlowTransform 利用預先訓練的 Tensorflow 模型擷取指定的輸出。 可選擇性地,它也能進一步重新訓練 TensorFlow 模型,以調整使用者資料上的模型參數(也稱為「轉移學習」)。

在評分時,轉換會將預訓練的 Tensorflow 模型、輸入節點名稱,以及我們想要提取的輸出節點名稱作為輸入。 在重新訓練時,轉換還需要訓練相關參數,例如TensorFlow圖中優化操作的名稱、圖中學習率操作的名稱及其值、計算損失與效能指標的運算名稱等。

此轉換需安裝 Microsoft.ML.TensorFlow nuget。 張量流轉換在輸入、輸出、資料處理及再訓練方面有以下假設。

  1. 對於輸入模型,目前 TensorFlowTransform 支援 Frozen 模型 格式與 SavedModel 格式。 然而,僅適用於 SavedModel 格式,才能重新訓練模型。 由於缺乏 TensorFlow C-API 載入 Checkpoint 格式,目前既不支援評分,也無法支援重新訓練。
  2. 轉換系統一次只支援一個範例的評分。 不過,再訓練可以分批進行。
  3. 目前無法進行進階的轉移學習/微調情境(例如在網路中增加更多層、改變輸入形狀、凍結不需在重訓練過程中更新的層等)是因為模型內部缺乏使用 TensorFlow C-API 進行網路/圖操作的支援。
  4. 輸入欄位的名稱應與 TensorFlow 模型中的輸入名稱相符。
  5. 每個輸出欄位的名稱應與 TensorFlow 圖中的其中一個操作相符。
  6. 目前,double、float、long、int、short、sbyte、ulong、uint、ushort、byte 和 bool 是輸入/輸出的可接受資料型態。
  7. 成功後,轉換會引入對應每個指定輸出欄位的新欄位 IDataView 。

TensorFlow 模型的輸入與輸出可透過 GetModelSchema() OR summarize_graph 工具取得。

方法

名稱 Description
LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

將 TensorFlow 模型載入記憶體。 這是一種方便的方法,允許模型載入一次,然後用於查詢結構並使用 TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean)。 使用此 API 需要對 TensorFlow redist 進行額外的 NuGet 依賴,詳情請參見連結文件。 TensorFlowModel 同時也包含需要透過明確呼叫 Dispose() 或以「使用」語法宣告變數來釋放的未管理資源的參考。>

<格式類型=“text/markdown”> [!include[io](~/../docs/samples/docs/api-reference/tensorflow-usage.md)] </format>
LoadTensorFlowModel(ModelOperationsCatalog, String)

將 TensorFlow 模型載入記憶體。 這是一種方便的方法,允許模型載入一次,然後用於查詢結構並使用 TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean)。 使用此 API 需要對 TensorFlow redist 進行額外的 NuGet 依賴,詳情請參見連結文件。 TensorFlowModel 同時也包含需要透過明確呼叫 Dispose() 或以「使用」語法宣告變數來釋放的未管理資源的參考。>

<格式類型=“text/markdown”> [!include[io](~/../docs/samples/docs/api-reference/tensorflow-usage.md)] </format>

適用於

另請參閱