Partilhar via


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.

Como obter a ferramenta

Você pode baixar o WinML Dashboard aqui ou criá-lo do código-fonte seguindo as instruções abaixo.

Criá-lo do código-fonte

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.

Etapas para compilar e executar

Para executar o WinML Dashboard, siga as seguintes etapas:

  1. Na linha de comando, clone o repositório: git clone https://github.com/Microsoft/Windows-Machine-Learning
  2. No repositório, insira o seguinte para acessar a pasta correta: cd Tools/WinMLDashboard
  3. Execute git submodule update --init --recursive para atualizar o Netron.
  4. Execute o yarn para baixar as dependências.
  5. 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.

Exibir e editar modelos

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

Exibir e editar um modelo

Converter modelos

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.

Converter um modelo

Validar modelos

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.

Validar um modelo

Inferência de depuração

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:

  1. 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 menu Debug 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.

Depurar um modelo

  1. Navegue até a guia Run e selecione o modelo que você deseja depurar.
  2. Para o campo Capture, selecione Debug na lista suspensa.
  3. 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.
  4. Selecione uma pasta de saída para exportar os dados da depuração.
  5. Selecione Run. Quando a execução for concluída, navegue até a pasta selecionada para exibir a captura da depuração.

Executar um modelo

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.