Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Koncepční pokyny najdete v článku Spouštění modelů ONNX pomocí Windows ML).
Rozhraní API v balíčku NuGet Microsoft.WindowsAppSDK.ML si můžete představit jako nadmnožinu těchto dvou množin:
- Rozhraní API Windows ML. Rozhraní API systému Windows ML v oboru názvů Microsoft.Windows.AI.MachineLearning, například třída ExecutionProviderCatalog a její metody (což jsou rozhraní API modulu prostředí Windows Runtime).
- Rozhraní API modulu runtime ONNX Implementace Windows ML (v balíčku NuGet Microsoft.WindowsAppSDK.ML) určitých rozhraní API z modulu ONNX Runtime (ORT). Dokumentaci najdete v dokumentaci k rozhraní ONNX Runtime API. Například struktura OrtCompileApi. Příklady kódu, které používají tato rozhraní API, a další odkazy na dokumentaci najdete v kurzu Použít Windows ML ke spuštění modelu ResNet-50.
Balíček NuGet Microsoft.WindowsAppSDK.ML
Modul runtime Microsoft Windows ML poskytuje rozhraní API pro operace strojového učení a umělé inteligence v aplikacích Windows. Balíček NuGet Microsoft.WindowsAppSDK.ML poskytuje soubory modulu runtime Windows ML .winmd pro použití v projektech v jazycích C# i C++.
Pywinrt Python kolečka
Modul runtime Microsoft Windows ML využívá projekt pywinrt k zajištění Python přístupu ke stejným rozhraním API Windows ML. Název balíčku je winui3-Microsoft.Windows. AI. MachineLearning. K použití Windows App SDK v Pythonu se vyžadují další balíčky. Podrobnosti najdete v tématu Spouštění modelů ONNX pomocí Windows ML.
rozhraní API Windows ML
Referenční dokumentaci k rozhraní API a příklady kódu najdete v oboru názvů Microsoft.Windows.AI.MachineLearning.
Poznámky k implementaci
Modul runtime Windows ML je integrovaný s Windows App SDK a spoléhá na jeho mechanismy nasazení a spouštění:
- Automaticky zjišťuje zprostředkovatele spouštění kompatibilní s aktuálním hardwarem.
- Spravuje životnost a aktualizace balíčků.
- Zpracovává registraci a aktivaci balíčku.
- Podporuje různé verze poskytovatelů spouštění.
Nasazení závislé na rozhraní
Windows ML se dodává jako komponenta závislá na rozhraní. To znamená, že vaše aplikace musí:
- Odkaz na hlavní Windows App SDK balíček NuGet přidáním odkazu na
Microsoft.WindowsAppSDK(doporučeno) - Nebo odkazujte na
Microsoft.WindowsAppSDK.MLaMicrosoft.WindowsAppSDK.Runtime
Další informace o nasazování aplikací Windows App SDK najdete v dokumentaci Vytváření balíčků a nasazování aplikací pro Windows.
Použití modulu runtime ONNX s Windows ML
U aplikací v jazyce C++ po registraci poskytovatelů spouštění použijte přímo rozhraní C API knihovny ONNX Runtime k vytvoření relací a provádění inference.
Pro aplikace jazyka C# použijte modul runtime ONNX přímo k odvozování pomocí oboru názvů Microsoft.ML.OnnxRuntime.
Pro aplikace v jazyce Python použijte pro inferenci balíček wheel ONNX Runtime onnxruntime-windowsml.
Python poznámky
Initialize Windows App SDK
Všechna Windows volání ML by měla proběhnout po inicializaci Windows App SDK. Můžete to udělat pomocí následujícího kódu:
from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
InitializeOptions,
initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
# Your Windows ML code here
Registration dochází mimo Windows ML
Modul runtime ONNX je navržený způsobem, ve kterém jsou Python a nativní prostředí oddělená. Nativní volání pro registraci ve stejném procesu nebudou v prostředí Pythonu fungovat. Registrace zprostředkovatelů spouštění by proto měla být provedena přímo s rozhraním API Python.
Odebrání balíčku vcruntime pywinrtu
Projekt pywinrt zahrnuje msvcp140.dll v balíčku winrt-runtime. To může být v konfliktu s jinými balíčky. Odstraňte tento soubor DLL, abyste předešli tomuto problému, a nainstalujte chybějící knihovny VCRuntime pomocí balíčku VC Redistributable