WinML Dashboard
O WinML Dashboard é uma ferramenta para exibir, editar, converter e validar modelos de machine learning para o mecanismo de inferência do Windows ML. O mecanismo é integrado ao Windows 10 e avalia os modelos treinados localmente em dispositivos Windows usando otimizações de hardware para CPU e GPU para habilitar inferências de alto desempenho.
Você pode baixar o WinML Dashboard aqui ou criá-lo do código-fonte seguindo as instruções abaixo.
Ao criar o aplicativo do código-fonte, você vai precisar de:
Requisitos | Versão | Download | Comando a verificar |
---|---|---|---|
Python3 | 3.4+ | aqui | python --version |
Yarn | mais recente | aqui | yarn --version |
Node.js | mais recente | aqui | node --version |
Git | mais recente | aqui | git --version |
MSBuild | mais recente | aqui | msbuild -version |
Nuget | mais recente | aqui | nuget help |
Todos os seis pré-requisitos devem estar adicionados ao caminho do ambiente. Observe que o MSBuild e o Nuget serão incluídos na instalação do Visual Studio 2017.
Para executar o WinML Dashboard, siga as seguintes etapas:
- Na linha de comando, clone o repositório:
git clone https://github.com/Microsoft/Windows-Machine-Learning
- No repositório, insira o seguinte para acessar a pasta correta:
cd Tools/WinMLDashboard
- Execute
git submodule update --init --recursive
para atualizar o Netron. - Execute o yarn para baixar as dependências.
- Em seguida, execute
yarn electron-prod
para compilar e iniciar o aplicativo da área de trabalho, que vai iniciar o Dashboard.
Todos os comandos do Dashboard disponíveis podem ser vistos em package.json.
O Dashboard usa o Netron para exibir modelos de machine learning. Apesar de o WinML usar o formato ONNX, o visualizador do Netron dá suporte à exibição de vários formatos de estrutura diferentes.
Muitas vezes, um desenvolvedor pode precisar atualizar determinados metadados ou modificar os nós de entrada e saída do modelo. Essa ferramenta dá suporte à modificação de propriedades, metadados e nós de entrada/saída de um modelo ONNX.
A seleção da guia Edit
(no centro da parte superior, conforme mostrado no recorte abaixo), leva você para a exibição e a edição do painel. O painel esquerdo permite a edição de nós de entrada e saída do modelo e o painel direito permite a edição das propriedades do modelo. A parte central mostra o gráfico. Neste momento, o suporte à edição é limitado ao nó de entrada/saída do modelo (e não aos nós internos), às propriedades e aos metadados do modelo.
O botão Edit/View
alterna entre o Modo de edição e o Modo somente exibição. O Modo somente exibição não permite a edição e habilita os recursos nativos do visualizador do Netron, como a capacidade de ver informações detalhadas de cada nó.
Atualmente, há várias estruturas diferentes disponíveis para treinamento e avaliação de modelos de machine learning, o que torna difícil para os desenvolvedores de aplicativos integrar os modelos em seus produtos. O Windows ML usa o formato ONNX de modelo de machine learning que permite a conversão de um formato de estrutura para outro, e o Dashboard facilita a conversão de modelos de estruturas diferentes para ONNX.
A guia Converter dá suporte à conversão em ONNX para as seguintes estruturas de origem:
- Apple Core ML
- TensorFlow (subconjunto de modelos conversíveis em ONNX)
- Keras
- Scikit-learn (subconjunto de modelos conversíveis em ONNX)
- Xgboost
- LibSVM
A ferramenta também permite a validação do modelo convertido avaliando-o com o mecanismo interno de inferência do Windows ML usando dados sintéticos (padrão) ou dados de entrada reais na CPU ou na GPU.
Tendo um modelo ONNX, você pode validar se a conversão ocorreu com sucesso e se o modelo pode ser avaliado no mecanismo de inferência do Windows ML. Isso é feito usando a guia Run
(veja o recorte abaixo).
Você pode escolher várias opções, como CPU (padrão) vs GPU, entrada real vs. entrada sintética (padrão) etc. O resultado da avaliação do modelo aparece na janela do console, na parte inferior.
Observe que o recurso de validação de modelo só está disponível no Atualização de outubro de 2018 para o Windows 10 ou em uma versão mais recente do Windows 10, pois a ferramenta se baseia no mecanismo interno de inferência do Windows ML.
Você pode usar o recurso de depuração do WinML Dashboard para obter informações sobre como os dados brutos estão fluindo pelos operadores no seu modelo. Você também pode visualizar esses dados para a inferência de pesquisa visual computacional.
Para depurar o seu modelo, siga as seguintes etapas:
- Navegue até a guia
Edit
e selecione o operador para o qual você deseja capturar dados intermediários. No painel do lado esquerdo, há um menuDebug
em que você pode selecionar os formatos dos dados intermediários que deseja capturar. Atualmente, as opções são texto e PNG. O texto produz um arquivo de texto contendo as dimensões, o tipo de dados e os dados brutos do tensor produzidos por esse operador. O PNG formata esses dados em um arquivo de imagem que pode ser útil para aplicativos de pesquisa visual computacional.
- Navegue até a guia
Run
e selecione o modelo que você deseja depurar. - Para o campo
Capture
, selecioneDebug
na lista suspensa. - Selecione uma imagem ou CSV de entrada para fornecer ao modelo na execução. Observe que isso é necessário durante a captura de dados de depuração.
- Selecione uma pasta de saída para exportar os dados da depuração.
- Selecione
Run
. Quando a execução for concluída, navegue até a pasta selecionada para exibir a captura da depuração.
Você também pode abrir a exibição de depuração no aplicativo Electron com uma das seguintes opções:
- Execute-o com
flag --dev-tools
- Ou selecione
View -> Toggle Dev Tools
no menu do aplicativo - Ou pressione
Ctrl + Shift + I
.