Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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
- 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 escolha o modelo de projeto do C# Console App (.NET Core).
- 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 directoryestá desmarcado. - Pressione
createpara criar o 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 ferramentas encaixada no Visual Studio. O Construtor de Modelos orientará você durante o processo de criação de um modelo de machine learning.
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.
Escolha o cenário de classificação de imagem.
Selecione Configurar workspace para configurar seu ambiente de treinamento 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.
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:
Na barra de pesquisa, procure um Machine Learning.
Pressione Criar para criar um novo workspace do 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.
Depois de estabelecer seu workspace e criar um novo ambiente de treinamento no ML.NET, você poderá passar para a próxima etapa.
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.
- 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.
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.
- 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.
Depois que o treinamento for concluído, você verá um resumo dos resultados do treinamento.
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
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 machine learning e os projetos para treinar e consumir o modelo à sua solução.
- Navegue até a parte de consumo do processo de treinamento e venda Adicionar à solução. Isso adicionará o modelo gerado à pasta da 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.
O modelo treinado no ambiente de nuvem do Azure, portanto, o modelo gerado está no formato ONNX.
Explorar seu modelo
Clique com o botão direito do mouse no bestModel.onnx e selecione Abrir Pasta Contendo.
Abra o 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 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