Tutorial: Treinar e implantar um modelo do Azure Machine Learning
Aplica-se a: IoT Edge 1.1
Importante
IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.
Neste artigo, executaremos as seguintes tarefas:
- Use o Estúdio do Azure Machine Learning para treinar um modelo de machine learning.
- Empacotar o modelo treinado como uma imagem de contêiner.
- Implantar a imagem de contêiner como um módulo do Azure IoT Edge.
O Machine Learning Studio é um bloco básico usado para experimentar, treinar e implantar modelos de machine learning.
As etapas neste artigo normalmente são executadas por cientistas de dados.
Nesta seção do tutorial, você aprenderá a:
- Criar Jupyter notebooks no workspace do Azure Machine Learning para treinar um modelo de machine learning.
- Colocar o modelo de machine learning treinado em um contêiner.
- Criar um módulo do IoT Edge com base no modelo de machine learning conteinerizado.
Pré-requisitos
Este artigo faz parte de uma série para um tutorial sobre como usar Machine Learning no IoT Edge. Cada artigo da série se baseia no trabalho do artigo anterior. Se você chegou a este artigo diretamente, veja o primeiro artigo da série.
Configurar o Azure Machine Learning
Usamos o Machine Learning Studio para hospedar os dois Jupyter notebooks e arquivos de suporte. Aqui, criamos e configuramos um projeto do Machine Learning. Se você nunca usou Jupyter ou o Machine Learning Studio, aqui estão dois documentos introdutórios:
- Jupyter Notebook:Trabalhando com Jupyter Notebooks no Visual Studio Code
- Azure Machine Learning:Introdução ao Azure Machine Learning em Jupyter notebooks
Observação
Após o serviço ser configurado, o Machine Learning pode ser acessado em qualquer computador. Durante a configuração, você deve usar a VM de desenvolvimento, que tem todos os arquivos que serão necessários.
Instalar a extensão do Azure Machine Learning para Visual Studio Code
O Visual Studio Code na VM de desenvolvimento deve ter essa extensão instalada. Se você estiver executando em uma instância diferente, reinstale a extensão conforme descrito em Configurar a extensão do Visual Studio Code.
Criar uma conta do Azure Machine Learning
Para provisionar recursos e executar cargas de trabalho no Azure, entre com suas credenciais de conta do Azure.
No Visual Studio Code, abra a paleta de comandos selecionando Exibição>Paleta de Comandos na barra de menus.
Insira o comando
Azure: Sign In
na paleta de comandos para iniciar o processo de entrada. Siga as instruções para concluir a entrada.Crie uma instância de computação de Machine Learning para executar a carga de trabalho. Na paleta de comandos, insira o comando
Azure ML: Create Compute
.Selecione sua assinatura do Azure.
Selecione + Criar Workspace do Azure ML e insira o nome turbofandemo.
Selecione o grupo de recursos que você está usando para esta demonstração.
Você deve ver o progresso da criação do workspace no canto inferior direito da janela do Visual Studio Code: Criando workspace: turobofandemo. Essa etapa pode levar alguns minutos.
Aguarde até que o workspace seja criado com êxito. Isso deve indicar Workspace do Azure ML turbofandemo criado.
Fazer upload de arquivos do Jupyter Notebook
Vamos carregar arquivos de notebook de exemplo em um novo workspace do Machine Learning.
Vá até ml.azure.com e entre.
Selecione seu diretório da Microsoft, a assinatura do Azure e o workspace do Machine Learning recém-criado.
Depois de entrar no seu workspace do Machine Learning, vá para a seção Notebooks usando o menu no lado esquerdo.
Selecione a guia Meus arquivos.
Selecione Carregar (o ícone de seta para cima).
Vá até C:\source\IoTEdgeAndMlSample\AzureNotebooks. Selecione todos os arquivos na lista e selecione Abrir.
Marque a caixa de seleção Confiar no conteúdo desses arquivos.
Selecione Carregar para começar a carregar. Em seguida, selecione Concluído após a conclusão do processo.
Arquivos do Jupyter Notebook
Vamos examinar os arquivos que você carregou em seu projeto do Workspace do Machine Learning. As atividades nesta parte do tutorial se estendem por dois arquivos de notebook, que usam alguns arquivos de suporte.
01-turbofan_regression.ipynb: este notebook usa o workspace do Machine Learning para criar e executar um experimento de machine learning. Amplamente, o notebook executa as seguintes etapas:
- Baixa os dados da conta de Armazenamento do Azure que foi gerada pelo agente do dispositivo.
- Explora e prepara os dados e os utiliza para treinar o modelo de classificador.
- Avalia o modelo do experimento usando um conjunto de dados de teste (Test_FD003.txt).
- Publica o melhor modelo do classificador no workspace do Machine Learning.
02-turbofan_deploy_model.ipynb: Este notebook usa o modelo criado no notebook anterior e o utiliza para criar uma imagem de contêiner pronta para ser implantada em um dispositivo do IoT Edge. O notebook realiza as seguintes etapas:
- Cria um script de pontuação para o modelo.
- Produz uma imagem de contêiner usando o modelo de classificador que foi salvo no workspace do Machine Learning.
- Implanta a imagem como um serviço Web nas Instâncias de Contêiner do Azure.
- Usar o serviço Web para validar se o modelo e a imagem funcionam conforme o esperado. A imagem validada será implantada em nosso dispositivo do IoT Edge na parte Criar e implantar módulos personalizados do IoT Edge deste tutorial.
Test_FD003.txt: este arquivo contém os dados que usaremos como nosso conjunto de teste para validar o classificador treinado. Optamos por usar os dados de teste, conforme fornecidos para o concurso original, como nosso conjunto de teste para manter a simplicidade.
RUL_FD003.txt: este arquivo contém a RUL (vida útil restante) do último ciclo de cada dispositivo no arquivo TTest_FD003.txt. Confira os arquivos readme.txt e Damage Propagation Modeling.pdf em C:\source\IoTEdgeAndMlSample\data\Turbofan para ver uma explicação detalhada dos dados.
Utils.py: este arquivo contém um conjunto de funções de utilitário de Python para trabalhar com os dados. O primeiro notebook contém uma explicação detalhada das funções.
README.MD: este arquivo leiame descreve o uso dos notebooks.
Executar os Jupyter notebooks
Agora que o workspace foi criado, você pode executar os notebooks.
Na página Meus arquivos, selecione01-turbofan_regression.ipynb.
Se o notebook estiver listado como Não Confiável, selecione o widget Não Confiável no canto superior direito dele. Quando a caixa de diálogo aparecer, selecione Confiar.
Para obter os melhores resultados, leia a documentação de cada célula e a execute individualmente. Selecione Executar na barra de ferramentas. Mais adiante, você verá que é mais fácil executar várias células. Você pode desconsiderar os avisos de atualização e preterimento.
Quando uma célula está em execução, ela exibe um asterisco entre colchetes ([*]). Quando a operação da célula for concluída, o asterisco será substituído por um número e a saída relevante poderá aparecer. As células em um notebook são compiladas em sequência e apenas uma célula pode ser executada por vez.
Você também pode usar as opções de execução no menu Célula. Selecione Ctrl + Enter para executar uma célula e Shift + Enter para executar uma célula e avançar para a célula seguinte.
Dica
Para operações de célula consistentes, evite executar o mesmo notebook em várias guias no navegador.
Na célula após as instruções Definir propriedades globais, insira os valores para a assinatura, as configurações e os recursos do Azure. Em seguida, execute a célula.
Na célula anterior a Detalhes do workspace, depois que ela tiver sido executada, procure o link que orienta você a entrar para se autenticar.
Abra o link e insira o código especificado. Esse procedimento de entrada autentica o Jupyter notebook para acessar os recursos do Azure usando a Interface de Linha de Comando Multiplataforma do Microsoft Azure.
Na célula que precede Explorar os resultados, copie o valor da ID de execução e cole-a para a ID de execução na célula após Reconstituir uma execução.
Execute as células restantes no notebook.
Salve o notebook e retorne à sua página do projeto.
Abra 02-turbofan_deploy_model.ipynb e execute cada célula. Você precisará entrar para se autenticar na célula após Configurar workspace.
Salve o notebook e retorne à sua página do projeto.
Verificar êxito
Para verificar se os notebooks foram concluídos com êxito, verifique se alguns itens foram criados.
Na guia Meus arquivos de seus notebooks de Machine Learning, selecione Atualizar.
Verifique se os arquivos a seguir foram criados.
Arquivo Descrição ./aml_config/.azureml/config.json Arquivo de configuração usado para criar o workspace do Machine Learning. ./aml_config/model_config.json Arquivo de configuração de que precisaremos para implantar o modelo no workspace do Machine Learning turbofanDemo no Azure. myenv.yml Fornece informações sobre as dependências para o modelo de Machine Learning implantado. Verifique se os seguintes recursos do Azure foram criados. Caracteres aleatórios são acrescentados a alguns nomes de recursos.
Recursos do Azure Nome Workspace do Azure Machine Learning turborfanDemo Registro de Contêiner do Azure turbofandemoxxxxxxxx Application Insights turbofaninsightxxxxxxxx Cofre de Chave do Azure turbofankeyvaultbxxxxxxxx Armazenamento do Azure turbofanstoragexxxxxxxxx
Depuração
Você pode inserir instruções do Python no notebook para depuração, como o comando print()
para mostrar valores. Se você vir variáveis ou objetos que não estão definidos, execute as células em que eles são declarados ou instanciados primeiro.
Talvez seja necessário excluir arquivos e recursos do Azure criados anteriormente se precisar refazer os notebooks.
Limpar recursos
Este tutorial faz parte de um conjunto em que cada artigo se baseia no trabalho feito nos anteriores. Aguarde para limpar os recursos até concluir o último tutorial.
Próximas etapas
Neste artigo, usamos dois Jupyter notebooks em execução no Machine Learning Studio para usar os dados dos dispositivos turbofan para:
- Treinar um classificador RUL.
- Salvar o classificador como um modelo.
- Criar uma imagem de contêiner.
- Implantar e testar a imagem como um serviço Web.
Prossiga para o próximo artigo para criar um dispositivo IoT Edge.