Condividi tramite


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:

  1. Nella riga di comando clonare il repository: git clone https://github.com/Microsoft/Windows-Machine-Learning
  2. All'interno del repository immettere quanto segue per accedere alla cartella corretta: cd Tools/WinMLDashboard
  3. Eseguire git submodule update --init --recursive per aggiornare Netron.
  4. Eseguire yarn per scaricare le dipendenze.
  5. 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.

Visualizzazione e modifica di un modello

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.

Conversione di un modello

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.

Convalidare un modello

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:

  1. Passare alla Edit scheda e selezionare l'operatore per cui si desidera acquisire i dati intermedi. Nel pannello a sinistra sarà disponibile un Debug 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.

Eseguire il debug di un modello

  1. Passare alla Run scheda e selezionare il modello di cui si vuole eseguire il debug.
  2. Per il Capture campo, selezionare Debug dall'elenco a discesa.
  3. 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.
  4. Selezionare una cartella di output per esportare i dati di debug.
  5. Selezionare Run. Al termine dell'esecuzione, è possibile passare a questa cartella selezionata per visualizzare l'acquisizione di debug.

Eseguire un modello

È 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.