Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
- Abra o Visual Studio e escolha "criar um novo projeto".
- 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).
- 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 directoryestá desmarcado. - Pressione
createpara criar seu projeto.
Configurar o Construtor de Modelos
Agora, você adicionará o Construtor de Modelos ao nosso projeto.
- Clique com o botão direito do mouse no projeto MLNETTraining no Gerenciador de Soluções e selecione
Add > Machine Learning.
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.
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.
Escolha o cenário de classificação de imagem.
Selecione Configurar espaço de trabalho para configurar seu ambiente de treinamento 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.
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:
Na barra de pesquisa, procure um Machine Learning.
Pressione Create (Criar) para criar um novo espaço de trabalho do 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.
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.
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.
- 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.
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.
- 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.
Uma vez feito o treinamento, você verá um resumo dos resultados do treinamento.
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
Mova a próxima etapa para avaliar os resultados do treinamento.
Selecione a imagem na pasta de avaliação do conjunto de dados e explore a previsão.
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.
- 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.
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.
O modelo treinado no ambiente de nuvem do Azure, portanto, o modelo gerado está no formato ONNX.
Explore o seu modelo
Clique com o botão direito do mouse no bestModel.onnx e selecione Abrir pasta de contenção.
Abra seu arquivo de modelo com o programa Netron.
Pressione o nó input1 para abrir as propriedades do 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