Installieren und Bereitstellen von Windows ML

Windows ML wird als Teil des Windows App SDK ausgeliefert und unterstützt zwei Bereitstellungsmodi: frameworkabhängige (empfohlen) und eigenständig. Wählen Sie basierend auf den Anforderungen für Größe, Aktualisierung und Abhängigkeit Ihrer App aus.

Weitere Informationen zu Windows ML finden Sie unter "Was ist Windows ML".

Schnellstart

Hier ist die kurze Version der Installation von Windows ML in Ihrem Projekt:

Installieren Sie Folgendes für frameworkabhängige (empfohlen):

Für eigenständig (erhöht die App-Größe um ~41 MB):

  • Installieren Sie für Apps, die auf Windows 10 Build 18362 oder höher ausgerichtet sind, Microsoft.Windows. AI. MachineLearning
  • Oder installieren Sie Microsoft.WindowsAppSDK.ML für Apps, die Windows 10 Build 17763 oder höher unterstützen.
  • Installieren Sie nicht Microsoft.WindowsAppSDK.Runtime oder das Hauptpaket Microsoft.WindowsAppSDK

Ausführliche Informationen zu den einzelnen Optionen finden Sie in den folgenden Abschnitten.

Anforderungen

Note

Mit .NET 6 können Sie den Microsoft.Windows.AI.MachineLearning-Namespace zum Installieren von Ausführungsanbietern verwenden, aber die Microsoft.ML.OnnxRuntime-APIs sind nicht verfügbar. Führen Sie ein Upgrade auf .NET 8 durch, um auf die vollständige Windows ML-API-Oberfläche zuzugreifen.

Was ist in Windows ML?

Windows ML besteht aus diesen Binärdateien:

Binary Beschreibung Ca. Größe
Microsoft.Windows.AI.MachineLearning.dll Windows ML-APIs (ExecutionProviderCatalog usw.) ~1 MB
onnxruntime.dll Die ONNX-Laufzeitumgebung ~20 MB
DirectML.dll DirectML – der enthaltene GPU-Ausführungsanbieter ~20 MB
Gesamt ~41 MB

Anbieterausführungsanbieter (QNN, VitisAI, OpenVINO, NvTensorRtRtx, MIGraphX) sind nicht Teil von Windows ML selbst. Sie werden separat bezogen – entweder über die ExecutionProviderCatalog zur Laufzeit oder von Ihnen selbst gebündelt. Siehe KI-Modelle beschleunigen.

Auswählen eines Bereitstellungsmodus

Bei Verwendung von Windows ML können Sie zwischen zwei Bereitstellungsmodi wählen: frameworkabhängige (empfohlen) und eigenständig.

Framework-abhängig (empfohlen) Eigenständig
Unterstützte Sprachen C#, C++/WinRT, Python C#, C++/WinRT, C/C++
Unterstützte Verpackungstypen Entpackt und verpackt (MSIX) Entpackt und verpackt (MSIX)
Unternehmenseinführung Unterstützt Unterstützt
App-Größe Kleiner – Windows ML-Binärdateien werden systemweit zur gemeinsamen Nutzung freigegeben. Größer – Windows ML-Binärdateien werden mit Ihrer App gebündelt (~41 MB)
Windows ML-Updates Automatisch – Benutzer erhalten Updates über die Windows App SDK-Wartung Manuell – Sie versenden eine neue Version, wenn Sie wählen.
Abhängigkeit von installierter Laufzeit Ja – Windows App SDK-Laufzeit muss vorhanden sein Nein – alle Abhängigkeiten befinden sich im App-Paket.
NuGet-Paket (C#/C++) Microsoft.WindowsAppSDK.ML + Microsoft.WindowsAppSDK.Runtime Microsoft.Windows.AI.MachineLearning oder Microsoft.WindowsAppSDK.ML
Am besten geeignet für Apps, die eine minimale Download-/Installationsgröße erfordern; Apps, die über den Microsoft Store versenden Strenge Versionskontrolle

Frameworkabhängige Apps basieren auf der Windows App SDK-Laufzeit, die auf dem Computer des Benutzers installiert wird. Ausführliche Informationen finden Sie in der Bereitstellungsarchitektur für frameworkabhängige Apps .

Installieren oder aktualisieren Sie in Ihrem Projekt die folgenden NuGet-Pakete:

Note

Alternativ können Sie das Hauptpaket "Microsoft.WindowsAppSDK NuGet" auf Version 1.8.1 oder höher installieren/aktualisieren, das Windows ML und alle anderen Windows App SDK-APIs enthält und standardmäßig frameworkabhängig ist.

Stellen Sie außerdem in Ihrer .csproj-Datei sicher, dass WindowsAppSDKSelfContained entweder nicht angegeben ist (nicht vorhanden) oder false, damit eine framework-abhängige Bereitstellung verwendet wird.

Sehen Sie sich schließlich die Bereitstellungsarchitektur für frameworkabhängige Apps an, um zu erfahren, wie Sie die Windows App SDK-Laufzeit zusammen mit Ihrer App auf den Geräten Ihres Benutzers bereitstellen.

Eigenständige Installation

Eigenständige Apps bündeln alle Windows ML-Binärdateien direkt in der App. Es ist keine externe Laufzeitabhängigkeit erforderlich, ihre App ist jedoch größer. Dies ist die Standardeinstellung, wenn Sie auf Microsoft.Windows.AI.MachineLearning oder Microsoft.WindowsAppSDK.ML verweisen, ohne auf das Hauptpaket Microsoft.WindowsAppSDK oder Microsoft.WindowsAppSDK.Runtime zu verweisen. Ausführliche Informationen finden Sie im Bereitstellungshandbuch für eigenständige Apps .

Installieren oder aktualisieren Sie in Ihrem Projekt die folgenden NuGet-Pakete:

  • Für Apps für Windows 10 Build 18362 oder höher:
  • Oder für Apps, die auf Windows 10 Build 17763 oder höher ausgerichtet sind:
    • Installieren Sie Microsoft.WindowsAppSDK.ML (dies fügt die Windows ML-APIs und Binärdateien hinzu, standardmäßig eigenständig und bietet RegFree WinRT-Unterstützung für 17763).
  • Installieren Sie Microsoft.WindowsAppSDK.Runtime NICHT(dies würde den frameworkabhängigen Modus aktivieren... entfernen, wenn sie zurzeit installiert ist)
  • Installieren Sie nicht das Hauptpaket "Microsoft.WindowsAppSDK NuGet" (dies würde den frameworkabhängigen Modus aktivieren... entfernen, wenn sie zurzeit installiert ist)
  • Sie können andere Windows App SDK-Komponentenpakete wie Microsoft.WindowsAppSDK.AI installieren, solange Sie die Runtime oder das Hauptpaket nicht installieren.

Note

Wenn Sie das Hauptpaket Microsoft.WindowsAppSDK NuGet verwenden müssen, aktualisieren Sie es auf Version 1.8.1 oder höher, welches Windows ML und alle anderen Windows App SDK-APIs enthält, und legen Sie in Ihrer .csproj den Wert von WindowsAppSDKSelfContained auf true fest, um den eigenständigen Modus zu aktivieren.

Nächster Schritt

Siehe auch