Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
- API Windows ML. API ML Windows di namespace Microsoft.Windows.AI.MachineLearning , seperti kelas ExecutionProviderCatalog dan metodenya (yang merupakan API Runtime Windows).
- ONNX Runtime API. Implementasi Windows ML (dalam paket Microsoft.WindowsAppSDK.ML NuGet) API tertentu dari ONNX Runtime (ORT). Untuk dokumentasi, lihat dokumen ONNX Runtime API. Misalnya, struktur OrtCompileApi. Untuk contoh kode yang menggunakan API ini, dan tautan lainnya ke dokumentasi, lihat tutorial Menggunakan ML Windows untuk menjalankan model ResNet-50 .
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.MLmaupunMicrosoft.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