Compartilhar via


Treinar seu modelo com ML.NET

No estágio anterior deste tutorial, discutimos os pré-requisitos da criação de seu próprio modelo e aplicativo do Windows Machine Learning e baixamos um conjunto de imagens a ser usado. Neste estágio, aprenderemos a usar o construtor de modelos ML.NET para transformar nosso conjunto de imagens em um modelo de classificação de imagem.

Criar seu projeto

  1. Abra o Visual Studio e escolha "criar um novo projeto".

Criar um novo projeto para o Construtor de Modelos

  1. Na barra de pesquisa, digite .NET, selecione C# como seu idioma e console como sua plataforma e escolha o modelo de projeto do C# Console App (.NET Core).

Criar um novo projeto .NET

  1. Na janela de configuração:
  • Nomeie o projeto. Aqui, chamamos de MLNETTraining.
  • Escolha o local do projeto.
  • Verifique se Place solution and project in the same directory está desmarcado.
  • Pressione create para criar o projeto.

Configure seu novo projeto

Configurar o Construtor de Modelos

Agora, você adicionará o Construtor de Modelos ao nosso projeto.

  1. Clique com o botão direito do mouse no projeto MLNETTraining no Gerenciador de Soluções e selecione Add > Machine Learning.

Adicionar aprendizado de máquina ao seu projeto

Dessa forma, você abre ML.NET Construtor de Modelos em uma nova janela de ferramentas encaixada no Visual Studio. O Construtor de Modelos orientará você durante o processo de criação de um modelo de machine learning.

Lista de cenários do construtor de modelos

A primeira etapa é escolher o cenário relevante. Nem todos os cenários dão suporte ao formato ONNX.

Se o ambiente de treinamento for a nuvem do Azure, os modelos gerados estarão no formato ONNX e poderão ser facilmente consumidos pelo aplicativo Windows ML sem conversão. No entanto, se você decidir treinar seu modelo de machine learning localmente em seu computador, o modelo gerado estará em ML.NET formato.

  • Há suporte para treinamento de CPU local para todos os cenários, exceto detecção de objetos.
  • Há suporte para treinamento de GPU local para Classificação de Imagens.
  • Há suporte para treinamento do Azure para Classificação de Imagens e Detecção de Objetos.

Neste tutorial, você treinará o modelo de classificação de imagens no ambiente de treinamento do Azure. O modelo de saída estará no formato ONNX. A conta do Azure é necessária para concluir o treinamento.

  1. Escolha o cenário de classificação de imagem.

  2. Selecione Configurar workspace para configurar seu ambiente de treinamento do Azure.

Configurar seu workspace do Azure

No canto superior direito, entre na conta associada à sua assinatura do Azure. No menu abaixo:

  • Escolha a assinatura relevante.
  • Selecione e crie um novo Workspace do Machine Learning.
  • Selecione ou crie um novo recurso de computação.
  • Dê o nome ao seu workspace – ImageClassificationMLNET.

Configurar seu workspace do Azure

Importante

Se você não conseguir criar o workspace do Machine Learning do Construtor de Modelos, siga estas etapas para criar um workspace manualmente no portal do Azure. Caso contrário, você pode pular para a etapa 4.

Em sua conta do Azure, selecione Criar um recurso:

Recursos disponíveis do Azure

Na barra de pesquisa, procure um Machine Learning.

Pesquisar machine learning na lista de recursos do Azure

Pressione Criar para criar um novo workspace do Machine Learning.

O recurso do Azure Machine Learning

Para criar um novo workspace, você precisará fornecer o nome da assinatura, selecionar ou criar um novo grupo de recursos, dar um nome ao workspace e definir todos os parâmetros necessários, como região, conta de armazenamento etc.

Configurar seu workspace do Azure ML

Depois de estabelecer seu workspace e criar um novo ambiente de treinamento no ML.NET, você poderá passar para a próxima etapa.

O ambiente de treinamento ML.NET

Aguarde até que a implantação dos Serviços de Machine Learning seja concluída.

A próxima etapa é adicionar os dados ao Construtor de Modelos.

  1. Navegue até o local do conjunto de dados de imagem e selecione a pasta de treinamento com as categorias de alimentos relevantes. Neste tutorial, você treinará o modelo para reconhecer deserto, sopa e frutas, portanto, você precisa apenas dessas categorias em nossa pasta de conjunto de dados.

Adicionar dados ao seu modelo de ML

Agora, você está pronto para ir para a parte de treinamento!

Treinar seu modelo

O Construtor de Modelos avalia muitos modelos com algoritmos e configurações variáveis para fornecer o modelo de melhor desempenho.

  1. Selecione o próximo e, em seguida, inicie o treinamento para iniciar o processo de treinamento. O construtor de modelos ML.Net começará carregando dados no Azure, preparando o workspace e iniciando o processo de treinamento.

Treinar seu modelo de Machine Learning

Depois que o treinamento for concluído, você verá um resumo dos resultados do treinamento.

Treinamento de modelo bem-sucedido

Melhor precisão – mostra a precisão do melhor modelo encontrado pelo Construtor de Modelos. Maior precisão significa que o modelo previu mais corretamente nos dados de teste. Em nosso caso, o modelo pode prever o resultado correto com 95,42% de confiança.

Avaliar os resultados

  1. Mova a próxima etapa para avaliar os resultados do treinamento.

  2. Selecione a imagem na pasta de avaliação do conjunto de dados e explore a previsão.

Resultados da avaliação do modelo

Adicionar o modelo à solução

ML.NET Construtor de Modelos pode adicionar automaticamente o modelo de machine learning e os projetos para treinar e consumir o modelo à sua solução.

  1. Navegue até a parte de consumo do processo de treinamento e venda Adicionar à solução. Isso adicionará o modelo gerado à pasta da solução.

Adicionar seu modelo à sua solução

No Gerenciador de Soluções, você deverá ver os arquivos de código que foram gerados pelo Construtor de Modelos, incluindo o modelo – bestModel.onnx no formato ONNX.

Seu modelo exibido no gerenciador de soluções

O modelo treinado no ambiente de nuvem do Azure, portanto, o modelo gerado está no formato ONNX.

Explorar seu modelo

  1. Clique com o botão direito do mouse no bestModel.onnx e selecione Abrir Pasta Contendo.

  2. Abra o arquivo de modelo com o programa Netron.

  3. Pressione o nó "input1" para abrir as propriedades do modelo.

Explorando as propriedades do seu modelo

Como você pode ver, o modelo requer um objeto tensor flutuante de 32 bits (matriz multidimensional) como uma entrada e retorna o Tensor float como uma saída. Da forma como o modelo foi criado, ele não retorna o valor da cadeia de caracteres de um rótulo previsto, mas uma matriz de três números, cada um representa o rótulo relevante do tipo alimentar. Você precisará extrair esses valores para mostrar a previsão correta com o aplicativo Windows ML.

Rótulo 1 Rótulo 2 Rótulo 3
0 1 2
sobremesa sopa Vegetable-Fruit

Próximas etapas

Agora que você treinou seu modelo de Machine Learning, está pronto para implantá-lo em um aplicativo UWP com o Windows Machine Learning