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。 TensorFlowTransform 具有下列關於輸入、輸出、資料處理和重新定型的假設。

  1. 針對輸入模型,TensorFlowTransform 目前同時支援 凍結模型 格式和 SavedModel 格式。 不過,只有 SavedModel 格式才能重新定型模型。 目前不支援評分或重新定型檢查點格式,因為沒有 TensorFlow C-API 支援載入它。
  2. 轉換一次僅支援評分一個範例。 不過,可以批次執行重新定型。
  3. 進階傳輸學習/微調案例 (例如將更多層新增至網路、變更輸入的形狀、凍結在重新定型程式期間不需要更新的圖層等等。) 目前無法使用,因為不支援使用 TensorFlow C-API 在模型中進行網路/圖形操作。
  4. 輸入資料行的名稱 (s) 應該符合 TensorFlow 模型中輸入 (s) 的名稱。
  5. 每個輸出資料行的名稱都應該符合 TensorFlow 圖形中的其中一個作業。
  6. 目前,double、float、long、int、short、sbyte、ulong、uint、ushort、byte 和 bool 是輸入/輸出可接受的資料類型。
  7. 成功時,轉換會在 中 IDataView 導入新的資料行,對應至指定的每個輸出資料行。

您可以使用 或summarize_graph工具來取得 GetModelSchema() TensorFlow 模型的輸入和輸出。

方法

LoadTensorFlowModel(ModelOperationsCatalog, String)

將 TensorFlow 模型載入記憶體中。 這是方便的方法,可讓模型載入一次,之後再使用它來查詢架構,並使用 建立 TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean) 。 使用此 API 需要 TensorFlow Redist 的其他 NuGet 相依性,請參閱連結的檔以取得詳細資訊。 TensorFlowModel 也保留非受控資源的參考,這些資源需要透過明確呼叫 Dispose () 或隱含方式宣告具有 「using」 語法的變數/>

LoadTensorFlowModel(ModelOperationsCatalog, String, Boolean)

將 TensorFlow 模型載入記憶體中。 這是方便的方法,可讓模型載入一次,之後再使用它來查詢架構,並使用 建立 TensorFlowEstimatorScoreTensorFlowModel(String, String, Boolean) 。 使用此 API 需要 TensorFlow Redist 的其他 NuGet 相依性,請參閱連結的檔以取得詳細資訊。 TensorFlowModel 也保留非受控資源的參考,這些資源需要透過明確呼叫 Dispose () 或隱含方式宣告具有 「using」 語法的變數/>

適用於

另請參閱