OnnxScoringEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
IEstimator<TTransformer> 用於在 ML.NET 架構中評分 ONNX 模型。
public sealed class OnnxScoringEstimator : Microsoft.ML.Data.TrivialEstimator<Microsoft.ML.Transforms.Onnx.OnnxTransformer>
type OnnxScoringEstimator = class
inherit TrivialEstimator<OnnxTransformer>
Public NotInheritable Class OnnxScoringEstimator
Inherits TrivialEstimator(Of OnnxTransformer)
- 繼承
備註
估算器特性
此估算器是否需要查看資料來定型其參數? | 否 |
輸入資料行資料類型 | 或 Double 類型的已知大小向量 Single |
輸出資料行資料類型 | 由 ONNX 模型指定 |
除了 Microsoft.ML 之外,還需要 NuGet | Microsoft.ML.OnnxTransformer (一律) Microsoft.ML.OnnxRuntime 1.6.0 (,以用於 CPU 處理) 或 Microsoft.ML.OnnxRuntime.Gpu 1.6.0 (,如果 GPU) |
可匯出至 ONNX | 否 |
若要建立此估算器,請使用下列 API: ApplyOnnxModel
支援使用 Microsoft.ML.OnnxRuntime 程式庫,以 ONNX 1.6 格式推斷 (opset 11) 。 如果專案參考 Microsoft.ML.OnnxRuntime,且專案參考 Microsoft.ML.OnnxRuntime.Gpu,則模型會以 CPU 計分。 使用 OnnxScoringEstimator 的每個專案都必須參考上述兩個套件的其中一個。
若要在 GPU 上執行,請使用 NuGet 套件 Microsoft.ML.OnnxRuntime.Gpu ,而不是 Microsoft.ML.OnnxRuntime nuget (,這是用於 CPU 處理) 。 Microsoft.ML.OnnxRuntime.Gpu 需要 CUDA 支援的 GPU、 CUDA 10.2 Toolkit和 cuDNN 8.0.3 (,如 Onnxruntime 的檔) 所述。 透過 ApplyOnnxModel建立估算器時,請將參數 'gpuDeviceId' 設定為有效的非負整數。 一般裝置識別碼值為 0 或 1。 如果找不到 GPU 裝置,但 'fallbackToCpu = true',則估算器會在 CPU 上執行。 如果找不到 GPU 裝置,但 'fallbackToCpu = false',估算器將會擲回例外狀況
ONNX 模型的輸入和輸出必須是 Tensor 類型。 尚不支援序列和地圖。
在內部,OnnxTransformer (OnnxScoringEstimator.Fit () ) 的傳回值會保留推斷會話的參考,指向OnnxRuntime.dll所擁有的 Unmanaged 記憶體。 每當管線中呼叫 ApplyOnnxModel 時,建議將 Fit () 呼叫的傳回值轉換成 IDisposable,並呼叫 Dispose () 以確保沒有記憶體流失。
OnnxRuntime 適用于 Windows、MacOS 和 Ubuntu 16.04 Linux 64 位平臺。 請流覽 ONNX 模型 ,以查看可開始使用的立即可用模型清單。 如需詳細資訊,請參閱 ONNX 。
方法
Fit(IDataView) |
IEstimator<TTransformer> 用於在 ML.NET 架構中評分 ONNX 模型。 (繼承來源 TrivialEstimator<TTransformer>) |
GetOutputSchema(SchemaShape) |
傳 SchemaShape 回架構的 ,該架構將由轉換器產生。 用於管線中的架構傳播和驗證。 |
擴充方法
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
將「快取檢查點」附加至估算器鏈結。 這可確保下游估算器會針對快取的資料定型。 在接受多個資料通過的定型器之前,先有快取檢查點會很有説明。 |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
指定估算器時,傳回包裝物件,一旦 Fit(IDataView) 呼叫委派即可。 估算器通常務必傳回符合專案的相關資訊,這就是 Fit(IDataView) 方法傳回特定型別物件的原因,而不是只傳回一般 ITransformer 。 不過,同時, IEstimator<TTransformer> 通常會形成具有許多物件的管線,因此我們可能需要透過建置估算器的鏈結,而我們想要取得轉換器的估算器 EstimatorChain<TLastTransformer> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。 |