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.
Este guia mostrará como treinar um modelo de rede neural para classificar imagens de alimentos usando ML.NET Construtor de Modelos, exportar o modelo para o formato ONNX e implantar o modelo em um aplicativo do Windows Machine Learning em execução localmente em um dispositivo Windows. Não é necessária experiência anterior em aprendizado de máquina e orientaremos você passo a passo pelo processo.
Se você quiser aprender a criar e treinar um modelo com ML.NET Construtor de Modelos, poderá prosseguir para Treinar um Modelo.
Se você tiver um modelo e quiser aprender a criar um aplicativo WinML do zero, navegue até o tutorial completo do aplicativo WinML.
Se você quiser obter a solução predefinida para um aplicativo WinML, poderá clonar o arquivo de solução e testá-lo imediatamente.
Cenário
Neste tutorial, criaremos um aplicativo de classificação de alimentos de machine learning executado em dispositivos Windows. O modelo será treinado para reconhecer certos tipos de padrões para classificar uma imagem de alimento e, quando receber uma imagem, retornará uma tag de classificação e o valor percentual de confiança associado a essa classificação.
Pré-requisitos para treinamento de modelo
Para criar e treinar seu modelo, você usará o ML.NET Model Buider no Visual Studio.
- Você precisará do Visual Studio 2019 16.6.1 ou posterior para usar um Construtor de Modelos do ML.NET. Você pode obter o Visual Studio aqui.
- Você precisará de uma conta do Azure para treinar um modelo com ML.NET Model Builder no workspace do Azure ML. Se você não estiver familiarizado com o Azure, poderá se inscrever em uma conta gratuita do Azure.
Observação
Interessado em saber mais sobre as opções de inscrição do Azure e as contas gratuitas do Azure? Confira Criar uma conta do Azure.
ML.NET Model Builder é uma extensão gráfica intuitiva do Visual Studio, usada para criar, treinar e implantar modelos personalizados de aprendizado de máquina. Ele usa o AutoML (aprendizado de máquina automatizado) para explorar diferentes algoritmos e configurações de aprendizado de máquina para ajudá-lo a encontrar aquele que melhor se adapta ao seu cenário.
ML.NET Construtor de Modelos é fornecido com o Visual Studio versão 16.6.1 ou posterior, quando você instala uma das cargas de trabalho do .NET. Certifique-se de ter o componente Construtor de Modelos do ML.NET verificado no instalador ao baixar ou modificar o Visual Studio. Para verificar se o VS tem os componentes do ML.NET Model Builder, acesse Extensões e selecione Gerenciar Extensões. Digite Model Builder na barra de pesquisa para revisar os resultados da extensão.
ML.NET Model Builder é atualmente um recurso de visualização. Portanto, para usar a ferramenta, no Visual Studio, você deve ir para Ferramentas > , Opções > , Recursos de Visualização do Ambiente > e habilitar ML.NET Model Builder:
Observação
Interessado em saber mais sobre ML.NET Model Builder e os diferentes cenários aos quais ele dá suporte? Examine a documentação do Construtor de Modelos.
Pré-requisitos para implantação de aplicativo do Windows ML
Para criar e implantar um aplicativo Widows ML, você precisará do seguinte:
- Windows 10 versão 1809 (build 17763) ou superior. Você pode verificar o número da versão do build executando
winverpor meio do comando(Windows logo key + R)Executar. - SDK do Windows para build 17763 ou superior. Você pode obter o SDK aqui.
- Visual Studio 2019 versão 16.6.1 ou posterior. Você pode obter o Visual Studio aqui.
- Extensão do Visual Studio do Gerador de Código do Windows ML (mlgen). Download para VS 2019.
- Se você decidir criar um aplicativo UWP, precisará habilitar a carga de trabalho de desenvolvimento da Plataforma Universal do Windows no Visual Studio.
- Você também precisará habilitar o Modo de Desenvolvedor em seu computador
Observação
As APIs do Windows ML são integradas às versões mais recentes do Windows 10 (1809 ou superior) e do Windows Server 2019. Se sua plataforma de destino for versões mais antigas do Windows, você poderá portar seu aplicativo WinML para o pacote NuGet redistribuível (Windows 8.1 ou superior).
Preparar os dados
Os modelos de machine learning devem ser treinados com dados existentes. Neste guia, você usará um conjunto de dados de imagens de alimentos dos conjuntos de dados abertos do Kaggle. Este conjunto de dados é distribuído sob a licença de domínio público.
Importante
Para usar esse conjunto de dados, você precisa aderir ao termo de uso do site Kaggle e aos termos de licença que acompanham o próprio conjunto de dados Food-11. A Microsoft não faz nenhuma garantia ou representação sobre o site ou este conjunto de dados.
O conjunto de dados tem três divisões - avaliação, treinamento e validação - e contém 16643 imagens de alimentos agrupadas em 11 categorias principais de alimentos. As imagens no conjunto de dados de cada categoria de alimento são colocadas em uma pasta separada, o que torna o processo de treinamento do modelo mais conveniente.
Baixe o conjunto de dados aqui. Observe que o conjunto de dados tem cerca de 1 GB de tamanho e você pode ser solicitado a criar uma conta no site do Kaggle para baixar os dados.
Se desejar, você pode usar qualquer outro conjunto de dados de imagens relevantes. No mínimo, recomendamos que você use pelo menos 30 imagens por tag no conjunto de treinamento inicial. Você também vai querer coletar algumas imagens extras para testar seu modelo depois que ele for treinado.
Além disso, certifique-se de que todas as suas imagens de treino atendam aos seguintes critérios:
- .jpg, .png, .bmpou .gif formato.
- não maior que 6 MB de tamanho (4 MB para imagens de previsão).
- não menos que 256 pixels na borda mais curta; todas as imagens menores que isso serão dimensionadas automaticamente pelo Serviço de Visão Personalizada.
Próximas etapas
Agora que você classificou seus pré-requisitos e preparou seu conjunto de dados, você pode prosseguir para a criação do seu modelo WinML. Na próxima parte, você usará o ML.NET Model Builder para criar e treinar seu modelo de classificação.