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.
Abrufen eines trainierten ONNX-Modells (Open Neural Network Exchange) oder Konvertieren eines in anderen ML-Frameworks trainierten Modells in ONNX mit ONNXMLTools
Hinzufügen der ONNX-Modelldatei zu Ihrer Anwendung oder anderweitiges Verfügbarmachen auf dem Zielgerät
Integrieren des Modells in Ihren Anwendungscode und anschließendes Erstellen und Bereitstellen der Anwendung
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.
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.