OnnxScoringEstimator Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
IEstimator<TTransformer> untuk menilai model ONNX dalam kerangka kerja 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)
- Warisan
Keterangan
Karakteristik Estimator
Apakah estimator ini perlu melihat data untuk melatih parameternya? | Tidak |
Jenis data kolom input | Vektor atau Double jenis berukuran Single diketahui |
Jenis data kolom output | Seperti yang ditentukan oleh model ONNX |
NuGet yang diperlukan selain Microsoft.ML | Microsoft.ML.OnnxTransformer (selalu), Microsoft.ML.OnnxRuntime 1.6.0 (untuk pemrosesan CPU) atau Microsoft.ML.OnnxRuntime.Gpu 1.6.0 (untuk pemrosesan GPU jika GPU tersedia) |
Dapat diekspor ke ONNX | Tidak |
Untuk membuat estimator ini, gunakan API berikut: ApplyOnnxModel
Mendukung inferensi model dalam format ONNX 1.6 (opset 11), menggunakan pustaka Microsoft.ML.OnnxRuntime . Model dinilai pada CPU jika proyek mereferensikan Microsoft.ML.OnnxRuntime dan pada GPU jika proyek mereferensikan Microsoft.ML.OnnxRuntime.Gpu. Setiap proyek yang menggunakan OnnxScoringEstimator harus mereferensikan salah satu dari dua paket di atas.
Untuk menjalankan pada GPU, gunakan paket NuGet Microsoft.ML.OnnxRuntime.Gpu alih-alih nuget Microsoft.ML.OnnxRuntime (yang untuk pemrosesan CPU). Microsoft.ML.OnnxRuntime.Gpu memerlukan GPU yang didukung CUDA, Toolkit CUDA 10.2, dan cuDNN 8.0.3 (seperti yang ditunjukkan pada dokumentasi Onnxruntime). Saat membuat estimator melalui ApplyOnnxModel, atur parameter 'gpuDeviceId' ke bilangan bulat non-negatif yang valid. Nilai ID perangkat yang khas adalah 0 atau 1. Jika perangkat GPU tidak ditemukan tetapi 'fallbackToCpu = true' maka estimator akan berjalan pada CPU. Jika perangkat GPU tidak ditemukan tetapi 'fallbackToCpu = false' maka estimator akan memberikan pengecualian
Input dan output model ONNX harus jenis Tensor. Urutan dan Peta belum didukung.
Secara internal, OnnxTransformer (nilai pengembalian OnnxScoringEstimator.Fit()) menyimpan referensi ke sesi inferensi yang menunjuk ke memori tidak terkelola yang dimiliki oleh OnnxRuntime.dll. Setiap kali ada panggilan ke ApplyOnnxModel dalam alur, disarankan untuk mentransmisikan nilai pengembalian panggilan Fit() ke IDisposable dan memanggil Dispose() untuk memastikan bahwa tidak ada kebocoran memori.
OnnxRuntime berfungsi pada platform Windows, MacOS, dan Ubuntu 16.04 Linux 64-bit. Kunjungi Model ONNX untuk melihat daftar model yang tersedia untuk memulai. Lihat ONNX untuk informasi selengkapnya.
Metode
Fit(IDataView) |
IEstimator<TTransformer> untuk menilai model ONNX dalam kerangka kerja ML.NET. (Diperoleh dari TrivialEstimator<TTransformer>) |
GetOutputSchema(SchemaShape) |
Mengembalikan SchemaShape skema yang akan diproduksi oleh transformator. Digunakan untuk propagasi dan verifikasi skema dalam alur. |
Metode Ekstensi
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Tambahkan 'titik pemeriksaan penembolokan' ke rantai estimator. Ini akan memastikan bahwa estimator hilir akan dilatih terhadap data cache. Sangat membantu untuk memiliki titik pemeriksaan penembolokan sebelum pelatih yang mengambil beberapa data berlalu. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Mengingat estimator, kembalikan objek pembungkus yang akan memanggil delegasi setelah Fit(IDataView) dipanggil. Seringkali penting bagi estimator untuk mengembalikan informasi tentang apa yang cocok, itulah sebabnya Fit(IDataView) metode mengembalikan objek yang ditik secara khusus, bukan hanya umum ITransformer. Namun, pada saat yang sama, IEstimator<TTransformer> sering dibentuk menjadi alur dengan banyak objek, jadi kita mungkin perlu membangun rantai estimator melalui EstimatorChain<TLastTransformer> tempat estimator yang ingin kita dapatkan transformator dikubur di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah pas dipanggil. |