WinML Dashboard
WinML Dashboard è uno strumento per visualizzare, modificare, convertire e convalidare modelli di Machine Learning per il motore di inferenza di Windows ML. Il motore è integrato in Windows 10 e valuta i modelli sottoposti a training in locale nei dispositivi Windows usando ottimizzazioni hardware per CPU e GPU per abilitare inferenze ad alte prestazioni.
Recupero dello strumento
Puoi scaricare il dashboard WinML qui oppure puoi compilare l'app dall'origine seguendo le istruzioni riportate di seguito.
Compilazione dall'origine
Quando si compila l'app dall'origine, sono necessari gli elementi seguenti:
Requisiti | Versione | Scarica | Comando da controllare |
---|---|---|---|
Python3 | 3.4+ | qui | python --version |
Yarn | più recente | qui | yarn --version |
Node.js | più recente | qui | node --version |
Git | più recente | qui | git --version |
MSBuild | più recente | qui | msbuild -version |
Nuget | più recente | qui | nuget help |
Tutti e sei i prerequisiti devono essere aggiunti al percorso dell'ambiente. Si noti che MSBuild e Nuget verranno inclusi in un'installazione di Visual Studio 2017.
Passaggi per la compilazione e l'esecuzione
Per eseguire il dashboard WinML, seguire questa procedura:
- Nella riga di comando clonare il repository:
git clone https://github.com/Microsoft/Windows-Machine-Learning
- All'interno del repository immettere quanto segue per accedere alla cartella corretta:
cd Tools/WinMLDashboard
- Eseguire
git submodule update --init --recursive
per aggiornare Netron. - Eseguire yarn per scaricare le dipendenze.
yarn electron-prod
Eseguire quindi per compilare e avviare l'applicazione desktop, che avvierà il dashboard.
Tutti i comandi del dashboard disponibili possono essere visualizzati in package.json.
Visualizzazione e modifica di modelli
Il dashboard usa Netron per la visualizzazione di modelli di Machine Learning. Anche se WinML usa il formato ONNX, il visualizzatore Netron supporta la visualizzazione di diversi formati di framework.
Molte volte uno sviluppatore potrebbe dover aggiornare determinati metadati del modello o modificare i nodi di input e output del modello. Questo strumento supporta la modifica delle proprietà del modello, dei metadati e dei nodi di input/output di un modello ONNX.
Se si seleziona la Edit
scheda (in alto al centro, come illustrato nello snip riportato di seguito) è possibile visualizzare e modificare il pannello. Il riquadro sinistro nel pannello consente di modificare i nodi di input e output del modello e il riquadro destro consente di modificare le proprietà del modello. La parte centrale mostra il grafico. Al momento, il supporto per la modifica è limitato al nodo di input/output del modello (e non ai nodi interni), alle proprietà del modello e ai metadati del modello.
Il Edit/View
pulsante passa dalla modalità Modifica alla modalità solo visualizzazione e viceversa. La modalità di sola visualizzazione non consente la modifica e abilita le funzionalità native del visualizzatore Netron, ad esempio la possibilità di visualizzare informazioni dettagliate per ogni nodo.
Conversione di modelli
Attualmente sono disponibili diversi framework per il training e la valutazione di modelli di Machine Learning, rendendo difficile per gli sviluppatori di app l'inserimento di modelli nel prodotto. Windows ML usa il formato del modello di Machine Learning ONNX che consente la conversione da un formato framework a un altro e questo dashboard semplifica la conversione di modelli da framework diversi a ONNX.
La scheda Converti supporta la conversione in ONNX dai framework di origine seguenti:
- Apple Core ML
- TensorFlow (subset di modelli convertibile in ONNX)
- Keras
- Scikit-learn (subset di modelli convertibili in ONNX)
- Xgboost
- LibSVM
Lo strumento consente anche la convalida del modello convertito valutando il modello con il motore di inferenza di Windows ML predefinito usando dati sintetici (impostazione predefinita) o dati di input reali su CPU o GPU.
Convalida dei modelli
Dopo aver creato un modello ONNX, è possibile verificare se la conversione è stata eseguita correttamente e che il modello può essere valutato nel motore di inferenza di Windows ML. Questa operazione viene eseguita usando la Run
scheda (vedere snip di seguito).
È possibile scegliere diverse opzioni, ad esempio CPU (impostazione predefinita) e GPU, input reale e input sintetico (impostazione predefinita) e così via. Il risultato della valutazione del modello viene visualizzato nella finestra della console in basso.
Si noti che la funzionalità di convalida del modello è disponibile solo in Aggiornamento di Windows 10 (ottobre 2018) o versione più recente di Windows 10, poiché lo strumento si basa sul motore di inferenza di Windows ML predefinito.
Debug dell'inferenza
È possibile usare la funzionalità di debug del dashboard WinML per ottenere informazioni dettagliate sul flusso dei dati non elaborati attraverso gli operatori nel modello. È anche possibile scegliere di visualizzare questi dati per l'inferenza della visione artificiale.
Per eseguire il debug del modello, seguire questa procedura:
- Passare alla
Edit
scheda e selezionare l'operatore per cui si desidera acquisire i dati intermedi. Nel pannello a sinistra sarà disponibile unDebug
menu in cui è possibile selezionare i formati di dati intermedi che si desidera acquisire. Le opzioni sono attualmente testo e PNG. Il testo restituisce un file di testo contenente le dimensioni, il tipo di dati e i dati del tensore non elaborati prodotti da questo operatore. PNG formatta questi dati in un file di immagine che può essere utile per le applicazioni di visione artificiale.
- Passare alla
Run
scheda e selezionare il modello di cui si vuole eseguire il debug. - Per il
Capture
campo, selezionareDebug
dall'elenco a discesa. - Selezionare un'immagine di input o un file CSV da fornire al modello in fase di esecuzione. Si noti che questa operazione è necessaria durante l'acquisizione dei dati di debug.
- Selezionare una cartella di output per esportare i dati di debug.
- Selezionare
Run
. Al termine dell'esecuzione, è possibile passare a questa cartella selezionata per visualizzare l'acquisizione di debug.
È anche possibile aprire la visualizzazione di debug nell'app Electron con una delle opzioni seguenti:
- Eseguirlo con
flag --dev-tools
- In alternativa, selezionare
View -> Toggle Dev Tools
nel menu dell'applicazione - In alternativa, premere
Ctrl + Shift + I
.