Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Konceptuell vägledning finns i Köra ONNX-modeller med Windows ML).
Du kan se API:erna i Microsoft.WindowsAppSDK.ML NuGet-paketet som supermängden för dessa två uppsättningar:
- Windows ML-API:er. Windows ML-API:er i namnområdet Microsoft.Windows.AI.MachineLearning , till exempel klassen ExecutionProviderCatalog och dess metoder (som är Windows Runtime-API:er).
- ONNX Runtime API. Windows ML-implementeringar (i Microsoft.WindowsAppSDK.ML NuGet-paketet) för vissa API:er från ONNX Runtime (ORT). Dokumentation finns i ONNX Runtime API-dokumenten. Till exempel OrtCompileApi-structen. Kodexempel som använder dessa API:er och fler länkar till dokumentation finns i självstudiekursen Använda Windows ML för att köra ResNet-50-modellen .
NuGet-paketet Microsoft.WindowsAppSDK.ML
Microsoft Windows ML-körningen tillhandahåller API:er för maskininlärning och AI-åtgärder i Windows-program.
NuGet-paketet Microsoft.WindowsAppSDK.ML innehåller Windows ML-körningsfiler .winmd för användning i både C#- och C++-projekt.
Pywinrt Python-hjulen
Microsoft Windows ML-körningen utnyttjar pywinrt-projektet för att ge Python åtkomst till samma Windows ML-API:er. Paketnamnet är winui3-Microsoft.Windows.AI.MachineLearning. Ytterligare paket krävs för att använda Windows App SDK i Python. Mer information finns i avsnittet Kör ONNX-modeller med Windows ML .
Windows ML-API:er
Information om API-referensdokumentation och kodexempel finns i namnområdet Microsoft.Windows.AI.MachineLearning .
Implementeringsanteckningar
Windows ML-körmiljön är integrerad med Windows App SDK och förlitar sig på dess distributions- och bootstrappingmekanismer.
- Identifierar automatiskt exekveringsleverantörer som är kompatibla med aktuell maskinvara
- Hanterar paketlivslängd och uppdateringar
- Hanterar paketregistrering och aktivering
- Stöder olika versioner av exekveringsleverantörer
Ramverksberoende distribution
Windows ML levereras som en ramverksberoende komponent. Det innebär att din app måste antingen:
- Referera till huvudpaketet för Windows App SDK NuGet genom att lägga till en referens till
Microsoft.WindowsAppSDK(rekommenderas) - Eller referera till både
Microsoft.WindowsAppSDK.MLochMicrosoft.WindowsAppSDK.Runtime
Mer information om hur du distribuerar Windows App SDK-program finns i dokumentationen paketera och distribuera Windows-appar .
Använda ONNX Runtime med Windows ML
När du har registrerat körningsprovidrar för C++-program använder du ONNX Runtime C API direkt för att skapa sessioner och köra slutsatsdragning.
För C#-program använder du ONNX Runtime direkt för slutsatsdragning med hjälp av Microsoft.ML.OnnxRuntime namnområdet.
För Python-program använder du det separata ONNX Runtime-hjulet (onnxruntime) för slutsatsdragning. För den experimentella versionen, använd onnxruntime-winml==1.22.0.post2-paketet från index https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple.
Python-anteckningar
Initiera Windows App SDK
Alla Windows ML-anrop bör ske när Windows App SDK har initierats. Detta kan göras med följande kod:
from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
InitializeOptions,
initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
# Your Windows ML code here
Registreringen sker från Windows ML
ONNX-körningen är utformad på ett sätt där Python och de inbyggda miljöerna är separata. Och interna registreringsanrop i samma process fungerar inte för Python-miljön. Därför bör registreringen av exekveringsleverantörer göras direkt med Python API.
Ta bort pywinrts packade vcruntime
Pywinrt-projektet innehåller en msvcp140.dll i winrt-runtime-paketet. Detta kan vara i konflikt med andra paket. Ta bort den här dll-filen för att undvika det här problemet och installera de saknade vcruntime-biblioteken med vc redistributable