TensorflowCatalog 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
該 用於 TensorFlowTransformer 以下兩種情境。
- 使用預訓練 TensorFlow 模型評分:在此模式下,轉換會從預訓練的 Tensorflow 模型中提取隱藏層的值,並將輸出作為 ML.Net 管線中的特徵。
- TensorFlow 模型的重新訓練:在此模式下,轉換會利用流水線中傳遞的使用者資料 ML.Net 重新訓練 TensorFlow 模型。 一旦模型訓練完成,其輸出即可作為評分的特徵。
public static class TensorflowCatalog
type TensorflowCatalog = class
Public Module TensorflowCatalog
- 繼承
-
TensorflowCatalog
備註
TensorFlowTransform 利用預先訓練的 Tensorflow 模型擷取指定的輸出。 可選擇性地,它也能進一步重新訓練 TensorFlow 模型,以調整使用者資料上的模型參數(也稱為「轉移學習」)。
在評分時,轉換會將預訓練的 Tensorflow 模型、輸入節點名稱,以及我們想要提取的輸出節點名稱作為輸入。 在重新訓練時,轉換還需要訓練相關參數,例如TensorFlow圖中優化操作的名稱、圖中學習率操作的名稱及其值、計算損失與效能指標的運算名稱等。
此轉換需安裝 Microsoft.ML.TensorFlow nuget。 張量流轉換在輸入、輸出、資料處理及再訓練方面有以下假設。
- 對於輸入模型,目前 TensorFlowTransform 支援 Frozen 模型 格式與 SavedModel 格式。 然而,僅適用於 SavedModel 格式,才能重新訓練模型。 由於缺乏 TensorFlow C-API 載入 Checkpoint 格式,目前既不支援評分,也無法支援重新訓練。
- 轉換系統一次只支援一個範例的評分。 不過,再訓練可以分批進行。
- 目前無法進行進階的轉移學習/微調情境(例如在網路中增加更多層、改變輸入形狀、凍結不需在重訓練過程中更新的層等)是因為模型內部缺乏使用 TensorFlow C-API 進行網路/圖操作的支援。
- 輸入欄位的名稱應與 TensorFlow 模型中的輸入名稱相符。
- 每個輸出欄位的名稱應與 TensorFlow 圖中的其中一個操作相符。
- 目前,double、float、long、int、short、sbyte、ulong、uint、ushort、byte 和 bool 是輸入/輸出的可接受資料型態。
- 成功後,轉換會引入對應每個指定輸出欄位的新欄位 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> |