Windows ML API-k

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:

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.WindowsAppSDK hozzáadásával (ajánlott)
  • Vagy hivatkozzon mindkettőre Microsoft.WindowsAppSDK.ML és Microsoft.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

Lásd még