Erste Schritte mit Windows Machine Learning

Es gibt mehrere Möglichkeiten, Windows Machine Learning in Ihrer App zu verwenden. Im Wesentlichen benötigen Sie nur ein paar unkomplizierte Schritte.

  1. Abrufen eines trainierten ONNX-Modells (Open Neural Network Exchange) oder Konvertieren eines in anderen ML-Frameworks trainierten Modells in ONNX mit ONNXMLTools

  2. Hinzufügen der ONNX-Modelldatei zu Ihrer Anwendung oder anderweitiges Verfügbarmachen auf dem Zielgerät

  3. Integrieren des Modells in Ihren Anwendungscode und anschließendes Erstellen und Bereitstellen der Anwendung

Training environment, add model reference, application, Windows ML

Vergleich zwischen integrierten (In-Box) und NuGet-WinML-Lösungen

Die folgende Tabelle verdeutlicht die Aspekte Verfügbarkeit, Verteilung, Sprachunterstützung, Wartung und Vorwärtskompatibilität des In-Box- und des NuGet-Pakets für Windows ML.

Eigenschaften In-Box NuGet
Verfügbarkeit Windows 10, Version 1809 oder höher Windows 8.1 oder höher
Verteilung In Windows SDK integriert Als Teil Ihrer Anwendung verpacken und verteilen
Wartung Microsoft-gesteuert (Kunden profitieren automatisch) Entwickler-gesteuert
Aufwärtskompatibilität Automatisches Roll Forward mit neuen Features Entwickler muss das Paket manuell aktualisieren

Beim Ausführen Ihrer Anwendung mit der integrierten Lösung evaluiert die Windows ML-Laufzeit (enthält die Rückschluss-Engine für das ONNX-Modell) das trainierte Modell auf dem Windows 10-Gerät (oder Windows Server 2019 bei einer Serverbereitstellung). Windows ML verarbeitet die Hardwareabstraktion, um Entwicklern umfangreiche Möglichkeiten im Chipbereich zu bieten, z. B. CPUs, GPUs und zukünftig auch KI-Beschleuniger (Accelerators). Die Hardwarebeschleunigung von Windows ML basiert auf DirectML, einer leistungsstarken Low-Level-API zum Ausführen von ML-Rückschlüssen, die Teil der DirectX-Familie ist.

windows ml layers

windows ml nuget package

Für das NuGet-Paket werden diese Ebenen als Binärdateien angezeigt, wie im folgenden Diagramm dargestellt. Windows ML ist in die „Microsoft.ai.machinelearning.dll“ integriert. Es ist keine eingebettete ONNX-Laufzeit enthalten, stattdessen ist die ONNX-Laufzeit in die Datei „onnxruntime.dll“ integriert. In die Version, die in den NuGet-Paketen von WindowsAI enthalten ist, ist eine DirectML EP eingebettet. Die endgültige Binärdatei (DirectML.dll) ist der eigentliche Plattformcode als DirectML und baut auf den Direct 3D- und Compute-Treibern auf, die in Windows integriert sind. Alle drei Binärdateien sind in den NuGet-Releases enthalten, die Sie zusammen mit Ihren Anwendungen verteilen können.

Der direkte Zugriff auf die Datei „onnxruntime.dll “ ermöglicht es Ihnen auch, plattformübergreifende Szenarien zu erreichen und gleichzeitig dieselbe hardwareagnostische Beschleunigung zu erzielen, die über alle Windows-Geräte hinweg skaliert werden kann.

Andere Machine Learning-Lösungen von Microsoft

Microsoft bietet eine Vielzahl von Machine Learning-Lösungen für verschiedene Anforderungen. Diese Lösungen können in der Cloud, lokal oder lokal auf Geräten ausgeführt werden. Weitere Informationen finden Sie unter Welche Machine Learning-Produkte bietet Microsoft?.

Weitere Informationen

Wenn Sie das Windows ML NuGet-Paket verwenden möchten, finden Sie weitere Informationen unter Tutorial: Portieren einer vorhandenen WinML-Anwendung in ein NuGet-Paket.

Informationen zu aktuellen Windows ML-Features und -Fehlerbehebungen finden Sie in den Versionshinweisen.

Hinweis

Verwende die folgenden Ressourcen, wenn du Hilfe mit Windows ML benötigst:

  • Wenn du technische Fragen zu Windows ML stellen oder beantworten möchtest, verwende das Tag windows-machine-learning auf Stack Overflow.
  • Wenn du einen Fehler melden möchtest, erstelle eine Anfrage auf GitHub.