Compartilhar via


Treinar o seu modelo com o ML.NET

Na etapa anterior deste tutorial, abordamos os pré-requisitos para a criação do aplicativo e do modelo do Windows Machine Learning e baixamos um conjunto de imagens. Nesta etapa, vamos aprender a usar o ML.NET Model Builder para transformar o conjunto de imagens em um modelo de classificação de imagem.

Criar seu projeto

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

Create a new project for the Model Builder

  1. Na barra de pesquisa, digite .NET, selecione C# como linguagem e console como plataforma e escolha o modelo de projeto de aplicativo de console C# (.NET Core).

Create a new .NET project

  1. Na janela de configuração:
  • Nomeie o projeto. Aqui, o 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 your new project

Configurar o Model Builder

Agora, você vai adicionar o Model Builder ao projeto.

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

Add machine learning to your project

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

List of model builder scenarios

A primeira etapa é escolher o cenário relevante. Nem todos os cenários são compatíveis com o formato ONNX.

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

  • Há suporte para treinamento de CPU local para todos os cenários, exceto a detecção de objetos.
  • Há suporte para treinamento de GPU local para a classificação de imagem.
  • O treinamento do Azure tem suporte para classificação de imagem e detecção de objetos.

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

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

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

Set up your Azure workspace

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

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

Configure your Azure workspace

Importante

Se você não conseguir criar o Workspace do Machine Learning do Model Builder, siga estas etapas para criar um workspace manualmente no portal do Azure. Caso contrário, pule para a etapa 4.

Na sua conta do Azure, selecione Criar um recurso:

Available Azure resources

Na barra de pesquisa, procure por Machine Learning.

Search for Machine Learning in the Azure resource list

Selecione Criar e crie um Workspace do Machine Learning.

The Azure Machine Learning resource

Para criar um workspace, forneça o nome da sua assinatura, selecione ou crie um grupo de recursos, dê um nome ao workspace e defina todos os parâmetros necessários, como região, conta de armazenamento etc.

Set up your Azure ML workspace

Depois de estabelecer o seu workspace e criar um ambiente de treinamento no ML.NET, passe para a próxima etapa.

The ML.NET training environment

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

A próxima etapa é adicionar os dados ao Model Builder.

  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ê vai treinar o modelo para reconhecer sobremesas, sopas e frutas, portanto, você precisa apenas dessas categorias na pasta do conjunto de dados.

Add data to your ML model

Você está pronto para a etapa de treinamento!

Treinar o modelo

O Model Builder avalia muitos modelos com algoritmos e configurações variados para dar a você o modelo com o melhor desempenho.

  1. Selecione Próximo e Iniciar Treinamento para iniciar o processo de treinamento. O ML.Net Model Builder vai começar carregando os dados no Azure, preparando o workspace e iniciando o processo de treinamento.

Train your Machine Learning model

Quando o treinamento for concluído, você vai ver o resumo dos resultados.

Successful model training

Melhor precisão – mostra a precisão do modelo encontrado pelo Model Builder. Maior precisão significa que o modelo é previsto mais corretamente nos dados de teste. Neste caso, o modelo pode prever o resultado correto com 95,42% de confiança.

Avaliar os resultados

  1. Vá para 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.

Model evaluation results

Adicionar o modelo à solução

O ML.NET Model Builder pode adicionar automaticamente o modelo de machine learning e os projetos para treinamento e consumo à sua solução.

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

Add your model to your solution

No Gerenciador de Soluções, você vai ver os arquivos de código que foram gerados pelo Model Builder, incluindo o modelo bestModel.onnx no formato ONNX.

Your model displayed in the solution explorer

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

Explorar o modelo

  1. Clique com o botão direito do mouse em bestModel.onnx e selecione Abrir pasta recipiente.

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

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

Exploring the properties of your model

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

Rótulo 1 Rótulo 2 Rótulo 3
0 1 2
sobremesa sopa Vegetais-frutas

Próximas etapas

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