次の方法で共有


OnnxScoringEstimator クラス

定義

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)
継承
OnnxScoringEstimator

注釈

エスティメーターの特性

この推定器は、パラメーターをトレーニングするためにデータを確認する必要がありますか? いいえ
入力列のデータ型 既知のサイズの Single ベクターまたは Double
出力列のデータ型 ONNX モデルで指定されたとおり
Microsoft.ML に加えて必要な NuGet Microsoft.ML.OnnxTransformer (常に)、Microsoft.ML.OnnxRuntime 1.6.0 (CPU 処理用) または Microsoft.ML.OnnxRuntime.Gpu 1.6.0 (GPU が使用可能な場合は GPU 処理用)
ONNX にエクスポート可能 いいえ

このエスティメーターを作成するには、次の API を使用します。 ApplyOnnxModel

Microsoft.ML.OnnxRuntime ライブラリを使用した ONNX 1.6 形式 (opset 11) でのモデルの推論をサポートします。 プロジェクトが Microsoft.ML.OnnxRuntime を参照している場合は CPU で、プロジェクトが Microsoft.ML.OnnxRuntime.Gpu を参照している場合は GPU でモデルがスコア付けされます。 OnnxScoringEstimator を使用するすべてのプロジェクトは、上記の 2 つのパッケージのいずれかを参照する必要があります。

GPU で実行するには、Microsoft.ML.OnnxRuntime nuget (CPU 処理用) ではなく、NuGet パッケージ Microsoft.ML.OnnxRuntime.Gpu を使用します。 Microsoft.ML.OnnxRuntime.Gpu には、 CUDA でサポートされている GPUCUDA 10.2 ToolkitcuDNN 8.0.3 ( Onnxruntime のドキュメントに記載) が必要です。 ApplyOnnxModel を使用してエスティメーターを作成する場合は、パラメーター 'gpuDeviceId' を有効な負以外の整数に設定します。 一般的なデバイス ID の値は 0 または 1 です。 GPU デバイスが見つからないが 'fallbackToCpu = true' の場合、推定器は CPU で実行されます。 GPU デバイスが見つからないが 'fallbackToCpu = false' の場合、エスティメーターは例外をスローします

ONNX モデルの入力と出力は Tensor 型である必要があります。 シーケンスとマップはまだサポートされていません。

内部的には、OnnxTransformer (OnnxScoringEstimator.Fit() の戻り値) は、OnnxRuntime.dllが所有するアンマネージ メモリを指す推論セッションへの参照を保持します。 パイプラインで 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> 、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象