OnnxScoringEstimator Třída

Definice

IEstimator<TTransformer> pro bodování modelů ONNX v rozhraní ML.NET.

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)
Dědičnost
OnnxScoringEstimator

Poznámky

Charakteristiky odhadu

Potřebuje tento estimátor podívat se na data, aby se natrénovala jeho parametry? No
Datový typ vstupního sloupce Vektor známé Single velikosti nebo Double typů
Datový typ výstupního sloupce Jak je určeno modelem ONNX
Povinné nuGet kromě Microsoft.ML Microsoft.ML.OnnxTransformer (vždy), buď Microsoft.ML.OnnxRuntime 1.6.0 (pro zpracování procesoru) nebo Microsoft.ML.OnnxRuntime.Gpu 1.6.0 (pro zpracování GPU, pokud je k dispozici GPU)
Exportovatelný do ONNX No

K vytvoření tohoto odhadu použijte následující rozhraní API: ApplyOnnxModel

Podporuje odvozování modelů ve formátu ONNX 1.6 (opset 11) pomocí knihovny Microsoft.ML.OnnxRuntime . Modely jsou vyhodnoceny na procesoru, pokud projekt odkazuje na Microsoft.ML.OnnxRuntime a na GPU, pokud projekt odkazuje na Microsoft.ML.OnnxRuntime.Gpu. Každý projekt používající OnnxScoringEstimator musí odkazovat na jeden z výše uvedených dvou balíčků.

Ke spuštění na GPU použijte balíček NuGet Microsoft.ML.OnnxRuntime.Gpu místo nugetu Microsoft.ML.OnnxRuntime (což je pro zpracování procesoru). Microsoft.ML.OnnxRuntime.Gpu vyžaduje podporované GPU,CUDA 10.2 Toolkit a cuDNN 8.0.3 (jak je uvedeno v dokumentaci k Onnxruntime). Při vytváření estimátoru pomocí ApplyOnnxModel nastavte parametr gpuDeviceId na platné ne záporné celé číslo. Typické hodnoty ID zařízení jsou 0 nebo 1. Pokud se zařízení GPU nenajde, ale "fallbackToCpu = true", estimátor se spustí na procesoru. Pokud se zařízení GPU nenajde, ale "fallbackToCpu = false", estimátor vyvolá výjimku.

Vstupy a výstupy modelů ONNX musí být typ Tensor. Sekvence a mapy se zatím nepodporují.

OnnxTransformer (návratová hodnota OnnxScoringEstimator.Fit()) obsahuje odkaz na relaci odvozování, která odkazuje na nespravovanou paměť vlastněnou OnnxRuntime.dll. Kdykoli v kanálu existuje volání ApplyOnnxModel , doporučujeme přetypovat návratovou hodnotu volání Fit() na IDisposable a volat Dispose(), aby se zajistilo, že nedošlo k únikům paměti.

OnnxRuntime funguje na 64bitových platformách Windows, MacOS a Ubuntu 16.04 Linux. Navštivte web ONNX Models a podívejte se na seznam snadno dostupných modelů, se kterými můžete začít. Další informace najdete v tématu ONNX .

Metody

Fit(IDataView)

IEstimator<TTransformer> pro bodování modelů ONNX v rozhraní ML.NET.

(Zděděno od TrivialEstimator<TTransformer>)
GetOutputSchema(SchemaShape)

SchemaShape Vrátí schéma, které bude vytvořen transformátorem. Používá se k šíření a ověřování schématu v kanálu.

Metody rozšíření

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Připojte k řetězci odhadu kontrolní bod ukládání do mezipaměti. Tím zajistíte, aby se podřízené estimátory natrénovaly na data uložená v mezipaměti. Před průchodem více dat je užitečné mít kontrolní bod ukládání do mezipaměti.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Pokud získáte odhadátor, vraťte obtékání objektu, který jednou zavolá delegáta Fit(IDataView) . Často je důležité, aby estimátor vrátil informace o tom, co bylo vhodné, což je důvod, proč Fit(IDataView) metoda vrací konkrétně zadaný objekt, a ne jen obecné ITransformer. Ve stejnou dobu se však často vytvářejí do kanálů s mnoha objekty, takže možná budeme muset vytvořit řetězec odhadovačů prostřednictvím EstimatorChain<TLastTransformer> toho, kde je odhadovač, IEstimator<TTransformer> pro který chceme získat transformátor, uložen někde v tomto řetězu. Pro tento scénář můžeme prostřednictvím této metody připojit delegáta, který bude volána po volání fit.

Platí pro