WinML-Dashboard
WinML-Dashboard ist ein Tool für das Anzeigen, Bearbeiten, Konvertieren und Überprüfen von Machine Learning-Modellen für die Rückschluss-Engine von Windows ML. Die Engine ist in Windows 10 integriert und wertet trainierte Modelle lokal auf Windows-Geräten aus, indem Hardwareoptimierungen für CPU und GPU verwendet werden, um Hochleistungsrückschlüsse zu ermöglichen.
Beschaffung des Tools
Sie können das WinML-Dashboard hier herunterladen, oder Sie können die App anhand der folgenden Anweisungen aus der Quelle erstellen.
Erstellen aus der Quelle
Wenn Sie die App aus der Quelle erstellen, benötigen Sie Folgendes:
Anforderungen | Version | Download | Zu überprüfender Befehl |
---|---|---|---|
Python3 | 3.4+ | hier | python --version |
Yarn | latest | hier | yarn --version |
Node.js | latest | hier | node --version |
Git | latest | hier | git --version |
MSBuild | latest | hier | msbuild -version |
Nuget | latest | hier | nuget help |
Alle sechs Voraussetzungen müssen dem Umgebungspfad hinzugefügt werden. Beachten Sie, dass MSBuild und Nuget in einer Visual Studio 2017-Installation enthalten sind.
Schritte zum Erstellen und Ausführen
Gehen Sie folgendermaßen vor, um das WinML-Dashboard auszuführen:
- Klonen Sie das Repository in der Befehlszeile:
git clone https://github.com/Microsoft/Windows-Machine-Learning
- Geben Sie im Repository Folgendes ein, um auf den richtigen Ordner zuzugreifen:
cd Tools/WinMLDashboard
- Führen Sie
git submodule update --init --recursive
aus, um Netron zu aktualisieren. - Führen Sie yarn aus, um die Abhängigkeiten herunterzuladen.
- Führen Sie dann
yarn electron-prod
aus, um die Desktopanwendung zu erstellen und zu starten, wodurch das Dashboard gestartet wird.
Alle verfügbaren Dashboardbefehle finden Sie unter package.json.
Anzeigen und Bearbeiten von Modellen
Das Dashboard verwendet Netron zum Anzeigen von Machine Learning-Modellen. Obwohl WinML das ONNX-Format verwendet, unterstützt der Netron-Viewer die Anzeige mehrerer verschiedener Frameworkformate.
Häufig muss ein Entwickler bestimmte Modellmetadaten aktualisieren oder Modelleingabe- und -ausgabeknoten ändern. Dieses Tool unterstützt das Ändern von Modelleigenschaften, Metadaten und Ein-/Ausgabeknoten eines ONNX-Modells.
Wenn Sie die Registerkarte Edit
auswählen (oben mittig, wie im Ausschnitt unten gezeigt), gelangen Sie zum Anzeige- und Bearbeitungsbereich. Der linke Bereich im Panel ermöglicht die Bearbeitung von Modelleingabe- und -ausgabeknoten, der rechte Bereich die Bearbeitung von Modelleigenschaften. Der mittlere Teil zeigt den Graphen. Derzeit ist die Bearbeitungsunterstützung auf Modelleingabe-/Ausgabeknoten (und nicht auf innere Knoten), Modelleigenschaften und Modellmetadaten beschränkt.
Die Schaltfläche Edit/View
wechselt vom Bearbeitungsmodus in den reinen Anzeigemodus und umgekehrt. Der reine Anzeigemodus gestattet keine Bearbeitung und aktiviert die nativen Features des Netron-Viewers, z. B. die Möglichkeit, ausführliche Informationen zu den einzelnen Knoten anzuzeigen.
Konvertieren von Modellen
Heutzutage stehen mehrere verschiedene Frameworks zum Trainieren und Auswerten von Machine Learning-Modellen zur Verfügung, was es App-Entwicklern erschwert, Modelle in ihr Produkt zu integrieren. Windows ML verwendet das Machine Learning-Modellformat ONNX das die Konvertierung von einem Frameworkformat in ein anderes ermöglicht, und dieses Dashboard erleichtert das Konvertieren von Modellen aus verschiedenen Frameworks in ONNX.
Die Registerkarte „Konvertieren“ unterstützt die Konvertierung in ONNX aus den folgenden Quellframeworks:
- Apple Core ML
- TensorFlow (Teilmenge der Modelle kann in ONNX konvertiert werden)
- Keras
- Scikit-learn (Teilmenge der Modelle kann in ONNX konvertiert werden)
- Xgboost
- LibSVM
Das Tool ermöglicht auch die Überprüfung des konvertierten Modells, indem es das Modell mit integrierter Rückschluss-Engine von Windows ML mit synthetischen Daten (Standard) oder echten Eingabedaten über die CPU oder GPU auswertet.
Überprüfen von Modellen
Sobald Sie über ein ONNX-Modell verfügen, können Sie überprüfen, ob die Konvertierung erfolgreich durchgeführt wurde und ob das Modell in der Rückschluss-Engine von Windows ML ausgewertet werden kann. Dies erfolgt über die Registerkarte Run
(wie im Ausschnitt unten angezeigt).
Sie können verschiedene Optionen auswählen, z. B. CPU (Standard) oder GPU, echte Eingabe oder synthetische Eingabe (Standard) usw. Das Ergebnis der Modellauswertung wird im Konsolenfenster unten angezeigt.
Beachten Sie, dass das Modellvalidierungsfeature nur für Windows 10 October 2018 Update oder einer neueren Version von Windows 10 verfügbar ist, da das Tool auf der integrierten Rückschluss-Engine von Windows ML basiert.
Debuggen von Rückschlüssen
Sie können das Debugfeature des WinML-Dashboards verwenden, um Erkenntnisse darüber zu erhalten, wie Rohdaten durch die Operatoren in Ihrem Modell laufen. Sie können diese Daten auch für den Rückschluss auf das maschinelle Sehen visualisieren.
Führen Sie die folgenden Schritte aus, um Ihr Modell zu debuggen:
- Navigieren Sie zur Registerkarte
Edit
, und wählen Sie den Operator aus, für den Sie Zwischendaten erfassen möchten. Im linken Bereich befindet sich einDebug
-Menü, in dem Sie die Formate der Zwischendaten auswählen können, die Sie erfassen möchten. Die Optionen sind derzeit Text und PNG. Text gibt eine Textdatei aus, die die Dimensionen, den Datentyp und die von diesem Operator erzeugten Tensor-Rohdaten enthält. PNG formatiert diese Daten in eine Bilddatei, die für Anwendungen für das maschinelle Sehen nützlich sein kann.
- Navigieren Sie zur Registerkarte
Run
, und wählen Sie das Modell aus, das Sie debuggen möchten. - Wählen Sie für das Feld
Capture
aus der Dropdownliste die OptionDebug
aus. - Wählen Sie ein Eingabebild oder eine CSV-Datei aus, das bzw. die Sie bei der Ausführung für Ihr Modell bereitstellen möchten. Beachten Sie, dass dies beim Erfassen von Debugdaten erforderlich ist.
- Wählen Sie einen Ausgabeordner aus, um Debugdaten zu exportieren.
- Wählen Sie
Run
aus. Sobald die Ausführung abgeschlossen ist, können Sie zu diesem ausgewählten Ordner navigieren, um Ihre Debugerfassung anzuzeigen.
Sie können die Debugansicht auch mit einer der folgenden Optionen in der Electron-App öffnen:
- Führen Sie sie mit
flag --dev-tools
aus. - Oder wählen Sie
View -> Toggle Dev Tools
im Anwendungsmenü aus. - Oder drücken Sie
Ctrl + Shift + I
.