Partilhar via


Painel do WinML

WinML Dashboard é uma ferramenta para visualizar, editar, converter e validar modelos de aprendizado de máquina para o mecanismo de inferência de ML do Windows. O mecanismo é integrado ao Windows 10 e avalia modelos treinados localmente em dispositivos Windows usando otimizações de hardware para CPU e GPU para permitir inferências de alto desempenho.

Obter a ferramenta

Você pode baixar o WinML Dashboard aqui, ou você pode criar o aplicativo a partir do código-fonte seguindo as instruções abaixo.

Compilar a partir do código-fonte

Ao criar o aplicativo a partir do código-fonte, você precisará do seguinte:

Requerimentos Versão Baixar Comando de verificação
Píton3 3.4+ aqui python --version
Fios 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 ser adicionados ao Caminho do ambiente. Observe que o MSBuild e o Nuget serão incluídos em uma instalação do Visual Studio 2017.

Etapas para criar e executar

Para executar o painel WinML, execute estas etapas:

  1. Na linha de comando, clone o repositório: git clone https://github.com/Microsoft/Windows-Machine-Learning
  2. Dentro do repositório, digite o seguinte para acessar a pasta correta: cd Tools/WinMLDashboard
  3. Execute git submodule update --init --recursive para atualizar o Netron.
  4. Execute o comando yarn para baixar dependências.
  5. Em seguida, execute yarn electron-prod para criar e iniciar o aplicativo da área de trabalho, que iniciará o Painel.

Todos os comandos disponíveis do Dashboard podem ser vistos em package.json.

Visualização e edição de modelos

O Painel usa Netron para visualizar modelos de aprendizado de máquina. Embora o WinML use o formato ONNX, o visualizador Netron suporta a visualização de vários formatos de estrutura diferentes.

Muitas vezes, um desenvolvedor pode precisar atualizar determinados metadados do modelo ou modificar os nós de entrada e saída do modelo. Esta ferramenta suporta a modificação de propriedades do modelo, metadados e nós de entrada/saída de um modelo ONNX.

Selecionar a Edit guia (parte superior central, como mostrado no trecho abaixo) leva você ao painel de visualização e edição. O painel esquerdo no painel permite editar nós de entrada e saída do modelo e o painel direito permite editar as propriedades do modelo. A parte central mostra o gráfico. No momento, o suporte à edição limitou-se ao nó de entrada/saída do modelo (e não aos nós internos), às propriedades do modelo e aos metadados do modelo.

O Edit/View botão muda do modo de edição para o modo somente visualização e vice-versa. O modo somente visualização não permite edição e habilita os recursos nativos do visualizador Netron, como a capacidade de ver informações detalhadas para cada nó.

Visualizar e editar um modelo

Conversão de modelos

Hoje existem várias estruturas diferentes disponíveis para treinamento e avaliação de modelos de aprendizado de máquina, o que torna difícil para os desenvolvedores de aplicativos inserir modelos inteiros em seu produto. O Windows ML usa o formato de modelo de aprendizado de máquina ONNX que permite a conversão de um formato de estrutura para outro, e esse Painel facilita a conversão de modelos de diferentes estruturas para ONNX.

A guia Converter suporta a conversão para ONNX das 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 modelo com o mecanismo de inferência de ML do Windows integrado usando dados sintéticos (padrão) ou dados de entrada reais na CPU ou GPU.

Convertendo um modelo

Validação de modelos

Depois de ter um modelo ONNX, você pode validar se a conversão aconteceu com êxito e se o modelo pode ser avaliado no mecanismo de inferência de ML do Windows. Isso é feito utilizando o separador Run (veja o trecho 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 Windows 10 October 2018 Update ou na versão mais recente do Windows 10, pois a ferramenta depende do mecanismo de inferência de ML interno do Windows.

Validação de um modelo

Depuração da Inferência

Você pode utilizar o recurso de depuração do WinML Dashboard para obter informações sobre como os dados brutos estão fluindo através dos operadores em seu modelo. Você também pode optar por visualizar esses dados para inferência de visão computacional.

Para depurar seu modelo, siga estas etapas:

  1. Navegue até a Edit guia e selecione o operador para o qual deseja capturar dados intermediários. No painel do lado esquerdo, haverá um Debug menu onde você pode selecionar os formatos de dados intermediários que deseja capturar. Atualmente, as opções são texto e PNG. O texto produzirá um arquivo de texto contendo as dimensões, o tipo de dados e os dados tensores brutos produzidos por este operador. PNG irá formatar esses dados em um arquivo de imagem que pode ser útil para aplicações de visão computacional.

Depurar um modelo

  1. Navegue até a Run guia e selecione o modelo que deseja depurar.
  2. Para o campo Capture, selecione Debug na lista suspensa.
  3. Selecione uma imagem de entrada ou csv para fornecer ao seu modelo na execução. Observe que isso é necessário ao capturar dados de depuração.
  4. Selecione uma pasta de saída para exportar dados de depuração.
  5. Selecione Run. Quando a execução estiver concluída, poderá navegar para a pasta selecionada para visualizar a captura de debug.

Executar um modelo

Você também pode abrir a visualizaçã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.