Partilhar via


Treine o seu modelo com ML.NET

Na etapa anterior deste tutorial, discutimos os pré-requisitos para criar seu próprio modelo e aplicativo do Windows Machine Learning e baixamos um conjunto de imagens para usar. Nesta etapa, aprenderemos a usar o ML.NET Construtor de Modelos para transformar nosso conjunto de imagens em um modelo de classificação de imagens.

Criar o 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, em seguida, escolha o modelo de projeto C# Console App (.NET Core).

Criar um novo projeto .NET

  1. Na janela de configuração:
  • Atribua um nome ao seu projeto. Aqui, nós o chamamos de MLNETTraining.
  • Escolha o local para o seu projeto.
  • Certifique-se de que Place solution and project in the same directory está desmarcado.
  • Pressione create para criar seu 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 aprendizagem automática ao seu projeto

Dessa forma, você abre ML.NET Construtor de modelos em uma nova janela de ferramenta encaixada no Visual Studio. O Construtor de Modelos irá guiá-lo através do processo de criação de um modelo de aprendizagem automática.

Lista de cenários do construtor de modelos

O primeiro passo é escolher o cenário relevante. Nem todos os cenários suportam o 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 aprendizado de máquina localmente em sua máquina, o modelo gerado estará em ML.NET formato.

  • O treinamento de CPU local é suportado para todos os cenários, exceto a Deteção de Objetos.
  • O treinamento de GPU local é suportado para Classificação de Imagem.
  • O treinamento do Azure tem suporte para Classificação de Imagem e Deteção de Objetos.

Neste tutorial, você treinará o modelo de classificação de imagem no ambiente de treinamento do Azure. O modelo de saída será em 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 espaço de trabalho para configurar seu ambiente de treinamento do Azure.

Configurar seu espaço de trabalho do Azure

No canto superior direito, inicie sessão na conta associada à sua subscrição do Azure. No menu abaixo:

  • Escolha a subscrição relevante.
  • Selecione e crie um novo Espaço de Trabalho de Aprendizado de Máquina.
  • Selecione ou crie um novo recurso de computação.
  • Dê o nome ao seu espaço de trabalho – ImageClassificationMLNET.

Configurar seu espaço de trabalho do Azure

Importante

Se não conseguir criar a área de trabalho de Aprendizagem de Máquina a partir do Construtor de Modelos, siga estes passos para criar uma área de trabalho manualmente a partir do seu Portal do Azure. Caso contrário, você pode pular para a etapa 4.

Na sua conta do Azure, selecione Criar um recurso:

Recursos disponíveis do Azure

Na barra de pesquisa, procure um Machine Learning.

Pesquisar Aprendizagem de Máquina na lista de recursos do Azure

Pressione Create (Criar) para criar um novo espaço de trabalho do Machine Learning.

O recurso do Azure Machine Learning

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

Configurar seu espaço de trabalho do Azure ML

Depois de estabelecer seu espaço de trabalho e criar um novo ambiente de treinamento no ML.NET, você pode passar para a próxima etapa.

O ambiente de formação ML.NET

Aguarde até que a implantação dos Serviços de Aprendizado de Máquina 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, então você precisa apenas dessas categorias em nossa pasta de conjunto de dados.

Adicionar dados ao seu modelo de ML

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

Treine o seu Modelo

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

  1. Selecione Avançar e, em seguida, Iniciar treinamento para iniciar o processo de treinamento. O construtor de modelos ML.Net começará carregando dados no Azure, preparará o espaço de trabalho e iniciará o processo de treinamento.

Treine seu modelo de Machine Learning

Uma vez feito o treinamento, você verá um resumo dos resultados do treinamento.

Treinamento de modelo bem-sucedido

Melhor precisão - mostra a precisão do melhor modelo que o Construtor de Modelos encontrou. Maior precisão significa que o modelo previu mais corretamente nos dados de teste. No 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 aprendizado de máquina e os projetos para treinamento e consumo do 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 à sua pasta de solução.

Adicione o seu modelo à sua solução

No Gerenciador de Soluções, você deve 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.

Explore o seu modelo

  1. Clique com o botão direito do mouse no bestModel.onnx e selecione Abrir pasta de contenção.

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

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

Explorar as propriedades do seu modelo

Como você pode ver, o modelo requer um objeto de tensor flutuante de 32 bits (matriz multidimensional) como uma entrada e retorna o float de tensor como uma saída. Da forma como o modelo foi construído, 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 de alimento. 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