API Windows ML

Untuk panduan konseptual, lihat Menjalankan model ONNX dengan Windows ML).

Anda dapat menganggap API dalam paket Microsoft.WindowsAppSDK.ML NuGet sebagai superset dari dua set ini:

Paket NuGet Microsoft.WindowsAppSDK.ML

Runtime Microsoft Windows ML menyediakan API untuk pembelajaran mesin dan operasi AI di aplikasi Windows. Paket Microsoft.WindowsAppSDK.ML NuGet menyediakan file runtime .winmd Windows ML untuk digunakan dalam proyek C# dan C++.

Roda Pywinrt Python

Runtime Microsoft Windows ML memanfaatkan proyek pywinrt untuk menyediakan akses Python ke API Windows ML yang sama. Nama paketnya adalah winui3-Microsoft.Windows.AI.MachineLearning. Paket tambahan diperlukan untuk menggunakan Windows App SDK di python. Untuk detailnya, lihat topik Jalankan model ONNX dengan Windows ML .

API Windows ML

Untuk dokumentasi referensi API, dan contoh kode, lihat namespace Microsoft.Windows.AI.MachineLearning .

Catatan implementasi

Runtime Windows ML terintegrasi dengan Windows App SDK dan bergantung pada mekanisme penyebaran dan bootstrapping dari Windows App SDK tersebut:

  • Secara otomatis menemukan penyedia eksekusi yang kompatibel dengan perangkat keras saat ini
  • Mengelola masa pakai dan pembaruan paket
  • Menangani pendaftaran dan aktivasi paket
  • Mendukung berbagai versi penyedia eksekusi

Penyebaran yang bergantung pada kerangka kerja

Windows ML dikirimkan sebagai komponen yang bergantung pada kerangka kerja . Ini berarti aplikasi Anda harus:

  • Referensikan paket Utama Windows App SDK NuGet dengan menambahkan referensi ke Microsoft.WindowsAppSDK (disarankan)
  • Atau, mereferensikan baik Microsoft.WindowsAppSDK.ML maupun Microsoft.WindowsAppSDK.Runtime

Untuk informasi selengkapnya tentang penyebaran aplikasi Windows App SDK, lihat dokumentasi Paket dan sebarkan aplikasi Windows .

Menggunakan ONNX Runtime dengan Windows ML

Untuk aplikasi C++, setelah mendaftarkan penyedia eksekusi, gunakan ONNX Runtime C API secara langsung untuk membuat sesi dan menjalankan inferensi.

Untuk aplikasi C#, gunakan ONNX Runtime secara langsung untuk inferensi menggunakan Microsoft.ML.OnnxRuntime namespace.

Untuk aplikasi Python, gunakan roda onnxruntime-windowsml Runtime ONNX untuk inferensi.

Catatan Python

Menginisialisasi Windows App SDK

Semua panggilan Windows ML harus terjadi setelah Windows App SDK diinisialisasi. Ini dapat dilakukan dengan kode berikut:

from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
    InitializeOptions,
    initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
    # Your Windows ML code here

Pendaftaran terjadi di luar Windows ML

Runtime ONNX dirancang sedemikian rupa sehingga lingkungan Python dan lingkungan asli terpisah. Dan panggilan pendaftaran asli dalam proses yang sama tidak akan berfungsi untuk lingkungan Python. Dengan demikian, pendaftaran penyedia eksekusi harus dilakukan dengan Python API secara langsung.

Menghapus vcruntime yang dikemas milik pywinrt

Proyek pywinrt mencakup msvcp140.dll dalam paket winrt-runtime. Ini mungkin berkonflik dengan paket lain. Hapus dll ini untuk menghindari masalah ini dan instal pustaka vcruntime yang hilang dengan vc redistributable

Lihat juga