Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Elméleti útmutatásért lásd: ONNX-modellek futtatása Windows ML-vel).
A Microsoft.WindowsAppSDK.ML NuGet-csomag API-jai az alábbi két készlet szuperhalmazának tekinthetők:
- Windows ML API-k. Windows ML API-k a Microsoft.Windows.AI.MachineLearning névtérben, például a ExecutionProviderCatalog osztály és metódusai (amelyek a Windows Runtime API-k).
- ONNX Runtime API-k. Bizonyos API-k Windows ML-implementációi (a Microsoft.WindowsAppSDK.ML NuGet-csomagban) az ONNX Runtime (ORT) alkalmazásból. A dokumentációt az ONNX Runtime API dokumentációjában találja. Például az OrtCompileApi szerkezet. Az ezeket az API-kat használó kód példákat és a dokumentációra mutató további hivatkozásokat a ResNet-50 modell oktatóanyagának a Windows ML használata című szakaszában találja.
A Microsoft.WindowsAppSDK.ML NuGet-csomag
A Microsoft Windows ML-futtatókörnyezet API-kat biztosít a Windows-alkalmazások gépi tanulási és AI-műveleteihez. A Microsoft.WindowsAppSDK.ML NuGet-csomag c# és C++ projektekben egyaránt használható Windows ML-futtatókörnyezeti .winmd fájlokat biztosít.
A pywinrt Python-kerekek
A Microsoft Windows ML-futtatókörnyezet a pywinrt-projektet használja, hogy Python-hozzáférést biztosítson ugyanazokhoz a Windows ML API-khoz. A csomag neve winui3-Microsoft.Windows.AI.MachineLearning. A Windows App SDK pythonban való használatához további csomagok szükségesek. További részletekért tekintse meg az ONNX-modellek windowsos gépi tanulási témakörrel való futtatását ismertető témakört.
Windows ML API-k
Az API-referenciadokumentációt és a példakódokat a Microsoft.Windows.AI.MachineLearning névtérben találja.
Végrehajtási megjegyzések
A Windows ML-futtatókörnyezet integrálva van a Windows App SDK-val, és az üzembe helyezési és rendszerindítási mechanizmusokra támaszkodik:
- Automatikusan felderíti az aktuális hardverrel kompatibilis végrehajtási szolgáltatókat
- A csomagok élettartamának és frissítéseinek kezelése
- Kezeli a csomagregisztrációt és az aktiválást
- A végrehajtási szolgáltatók különböző verzióit támogatja
Keretrendszerfüggő üzembe helyezés
A Windows ML keretrendszerfüggő összetevőként van kézbesítve. Ez azt jelenti, hogy az alkalmazásnak a következőkre van szükség:
- Hivatkozzon a fő Windows App SDK NuGet-csomagra a
Microsoft.WindowsAppSDKhozzáadásával (ajánlott) - Vagy hivatkozzon mindkettőre
Microsoft.WindowsAppSDK.MLésMicrosoft.WindowsAppSDK.Runtime
A Windows App SDK-alkalmazások telepítésével kapcsolatos további információkért tekintse meg a Windows-alkalmazások csomagra és üzembe helyezésére vonatkozó dokumentációját.
Az ONNX-futtatókörnyezet használata a Windows ML-vel
C++ alkalmazások esetén a végrehajtási szolgáltatók regisztrálása után az ONNX Runtime C API-val közvetlenül hozhat létre munkameneteket és futtathat következtetést.
C#-alkalmazások esetén használja közvetlenül az ONNX futtatókörnyezetet a Microsoft.ML.OnnxRuntime névtér használatával történő következtetéshez.
Python-alkalmazások esetén használja az ONNX futtatókörnyezeti kereket onnxruntime-windowsml a következtetéshez.
Python-jegyzetek
A Windows App SDK inicializálása
A Windows App SDK inicializálása után minden Windows ML-hívásnak meg kell történnie. Ez a következő kóddal végezhető el:
from winui3.microsoft.windows.applicationmodel.dynamicdependency.bootstrap import (
InitializeOptions,
initialize
)
with initialize(options = InitializeOptions.ON_NO_MATCH_SHOW_UI):
# Your Windows ML code here
A regisztráció a Windows ML-ből történik
Az ONNX-futtatókörnyezet úgy lett kialakítva, hogy a Python és a natív környezetek külön legyenek egymástól. És az ugyanabban a folyamatban lévő natív regisztrációs hívások nem működnek a Python-környezetben. Így a végrehajtási szolgáltatók regisztrációját közvetlenül a Python API-val kell elvégezni.
Pywinrt csomagolt vcruntime-jának eltávolítása
A pywinrt-projekt tartalmaz egy msvcp140.dll a winrt-runtime csomagban. Ez ütközhet más csomagokkal. Távolítsa el ezt a dll-t a probléma elkerülése érdekében, és telepítse a hiányzó vcruntime-kódtárakat a vc újraterjeszthetővel