Compartilhar via


Tutorial: Treinar e implantar um modelo do Azure Machine Learning

Aplica-se a:ícone de confirmação IoT Edge 1.1

Importante

A data de término do suporte do IoT Edge 1.1 foi em 13 de dezembro de 2022. Verifique o ciclo de vida do produto microsoft para obter informações sobre como este produto, serviço, tecnologia ou API tem suporte. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.

Neste artigo, fazemos as seguintes tarefas:

  • Use o Azure Machine Learning Studio para treinar um modelo de machine learning.
  • Empacote o modelo treinado como uma imagem de contêiner.
  • Implante a imagem de contêiner como um módulo do Azure IoT Edge.

O Machine Learning Studio é um bloco fundamental usado para experimentar, treinar e implantar modelos de machine learning.

As etapas neste artigo podem ser normalmente executadas por cientistas de dados.

Nesta seção do tutorial, você aprenderá a:

  • Crie os notebooks Jupyter em um workspace do Azure Machine Learning para treinar um modelo de aprendizado de máquina.
  • Conteinerize o modelo de aprendizado de máquina treinado.
  • Crie um módulo do IoT Edge a partir do modelo de machine learning em contêineres.

Pré-requisitos

Este artigo faz parte de uma série para um tutorial sobre como usar o Machine Learning no IoT Edge. Cada artigo da série baseia-se no trabalho no artigo anterior. Se você chegou a este artigo diretamente, consulte o primeiro artigo da série.

Configurar o Azure Machine Learning

Usamos o Machine Learning Studio para hospedar os dois notebooks Jupyter e arquivos de suporte. Aqui, criamos e configuramos um projeto do Machine Learning. Se você ainda não usou o Jupyter ou o Machine Learning Studio, aqui estão dois documentos introdutórios:

Observação

Depois que o serviço é configurado, o Machine Learning pode ser acessado de qualquer computador. Durante a instalação, você deve usar a VM de desenvolvimento, que tem todos os arquivos necessários.

Instalar a extensão do Visual Studio Code do Azure Machine Learning

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.

  1. No Visual Studio Code, abra a paleta de comandos selecionando Exibir>Paleta de Comandos na barra de menus.

  2. Insira o comando Azure: Sign In na paleta de comandos para iniciar o processo de entrada. Siga as instruções para concluir a entrada.

  3. Crie uma instância de computação do Machine Learning para executar sua carga de trabalho. Na paleta de comandos, insira o comando Azure ML: Create Compute.

  4. Selecione sua assinatura do Azure.

  5. Selecione + Criar novo Workspace do Azure ML e insira o nome turbofandemo.

  6. Selecione o grupo de recursos que você tem usado para essa demonstração.

  7. Você deverá ver o progresso da criação do workspace no canto inferior direito da janela do Visual Studio Code: Criando workspace: turobofandemo. Esta etapa pode levar um minuto ou dois.

  8. Aguarde até que o workspace seja criado com êxito. Deve exibir Azure ML workspace turbofandemo criado.

Carregar arquivos do Jupyter Notebook

Subiremos arquivos de notebook de exemplo em um novo ambiente de Machine Learning.

  1. Vá para ml.azure.com e entre.

  2. Selecione o diretório da Microsoft, a assinatura do Azure e o workspace do Machine Learning recém-criado.

    Captura de tela que mostra a seleção do workspace do Azure Machine Learning.

  3. Depois de entrar no workspace do Machine Learning, vá para a seção Blocos de Anotações usando o menu à esquerda.

  4. Selecione a guia Meus arquivos .

  5. Selecione Carregar (o ícone de seta para cima).

  6. Vá para C:\source\IoTEdgeAndMlSample\AzureNotebooks. Selecione todos os arquivos na lista e selecione Abrir.

  7. Marque a caixa de seleção Eu confio no conteúdo desses arquivos .

  8. 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 no workspace do Machine Learning. As atividades nesta parte do tutorial abrangem 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. Em geral, o notebook executa os seguintes passos:

    1. Baixa dados da conta de Armazenamento do Azure que foi gerada pelo dispositivo harness.
    2. Explora e prepara os dados e usa os dados para treinar o modelo de classificador.
    3. Avalia o modelo do experimento usando um conjunto de dados de teste (Test_FD003.txt).
    4. Publica o melhor modelo de classificador no workspace do Machine Learning.
  • 02-turbofan_deploy_model.ipynb: este notebook usa o modelo criado no notebook anterior e o usa para criar uma imagem de contêiner pronta para ser implantada em um dispositivo IoT Edge. O notebook executa as seguintes etapas:

    1. Cria um script de pontuação para o modelo.
    2. Produz uma imagem de contêiner usando o modelo de classificador que foi salvo no workspace do Machine Learning.
    3. Implanta a imagem como um serviço Web nas Instâncias de Contêiner do Azure.
    4. Usa o serviço web para validar se o modelo e a funcionalidade da imagem estão como esperado. A imagem validada será implantada em nosso dispositivo IoT Edge na parte Criar e implantar módulos personalizados do IoT Edge deste tutorial.
  • Test_FD003.txt: esse arquivo contém os dados que usaremos como nosso conjunto de testes quando validarmos nosso classificador treinado. Optamos por usar os dados de teste, conforme fornecido para o concurso original, como nosso conjunto de testes devido à sua simplicidade.

  • RUL_FD003.txt: esse arquivo contém a RUL (vida útil) restante para o último ciclo de cada dispositivo no arquivo Test_FD003.txt. Consulte os arquivos readme.txt e a Propagação de Danos Modeling.pdf em C:\source\IoTEdgeAndMlSample\data\Turbofan para obter uma explicação detalhada dos dados.

  • Utils.py: esse arquivo contém um conjunto de funções do utilitário Python para trabalhar com dados. O primeiro bloco de anotações contém uma explicação detalhada das funções.

  • README.md: Este arquivo Readme descreve o uso dos notebooks.

Executar os blocos de anotações do Jupyter

Agora que o workspace foi criado, você pode executar os blocos de anotações.

  1. Na página Meus arquivos , selecione 01-turbofan_regression.ipynb.

    Captura de tela que mostra a seleção do primeiro bloco de anotações a ser executado.

  2. Se o bloco de anotações estiver listado como Não Confiável, selecione o widget Não Confiável no canto superior direito do bloco de anotações. Quando a caixa de diálogo for exibida, selecione Confiança.

  3. Para obter melhores resultados, leia a documentação de cada célula e execute-a individualmente. Selecione Executar na barra de ferramentas. Posteriormente, você achará conveniente executar vários blocos de código. Você pode desconsiderar os avisos de atualização e descontinuação.

    Quando uma célula está em execução, ela exibe um asterisco entre os colchetes ([*]). Quando a operação da célula é concluída, o asterisco é substituído por um número e a saída relevante pode aparecer. As células em um notebook são construídas sequencialmente e apenas uma célula pode ser executada por vez.

    Você também pode usar opções de execução no menu Célula . Selecione Ctrl+Enter para executar uma célula e selecione Shift+Enter para executar uma célula e avançar para a próxima célula.

    Dica

    Para operações consistentes de células, evite rodar o mesmo notebook a partir de múltiplas guias no navegador.

  4. Na célula que segue as instruções Definir propriedades globais , insira os valores para sua assinatura, configurações e recursos do Azure. Em seguida, execute a célula.

    Captura de tela que mostra a configuração de propriedades globais no notebook.

  5. Na célula anterior aos detalhes do Workspace, após a execução, procure o link que instrui você a fazer login para se autenticar.

    Captura de tela que mostra o prompt de entrada para autenticação do dispositivo.

    Abra o link e insira o código especificado. Esse procedimento de entrada autentica o notebook Jupyter para acessar os recursos do Azure usando a Interface de Linha de Comando multiplataforma do Microsoft Azure.

    Captura de tela que mostra a autenticação do aplicativo na confirmação do dispositivo.

  6. Na célula que precede Explorar os resultados, copie o valor da ID de execução e cole-o para a ID de execução na célula que segue Reconstituir uma execução.

    Captura de tela que mostra como copiar a ID da execução entre células.

  7. Execute as células restantes no notebook.

  8. Salve o bloco de anotações e retorne à página do projeto.

  9. Abra 02-turbofan_deploy_model.ipynb e execute cada célula. Você precisará entrar para se autenticar na célula que segue Configurar workspace.

  10. Salve o bloco de anotações e retorne à página do projeto.

Verificar êxito

Para verificar se os notebooks foram concluídos com êxito, verifique se alguns itens foram criados.

  1. Na guia Meus arquivos dos seus notebooks de Machine Learning, selecione atualizar.

  2. 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 que precisaremos para implantar o modelo no espaço de trabalho de Machine Learning turbofanDemo no Azure.
    myenv.yml Fornece informações sobre as dependências do modelo de Machine Learning implantado.
  3. Verifique se os seguintes recursos do Azure foram criados. Alguns nomes de recursos são acrescentados com caracteres aleatórios.

    Recursos do Azure Nome
    Espaço de Trabalho do Azure Machine Learning turborfanDemo
    Registro de Contêiner do Azure turbofandemoxxxxxxxxxx
    Application Insights turbofaninsightxxxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxxxxx
    Armazenamento do Azure turbofanstoragexxxxxxxxx

Resolução de Erros

Você pode inserir instruções Python no notebook para depuração, como o print() comando para mostrar valores. Se você vir variáveis ou objetos que não estão definidos, execute as células em que elas são declaradas pela primeira vez ou instanciadas.

Talvez seja necessário excluir arquivos criados anteriormente e recursos do Azure se precisar refazer os notebooks.

Limpar os recursos

Este tutorial faz parte de um conjunto em que cada artigo se baseia no trabalho feito nas anteriores. Aguarde para limpar todos os recursos até concluir o tutorial final.

Próximas etapas

Neste artigo, usamos dois notebooks Jupyter em execução no Machine Learning Studio para usar os dados dos dispositivos turbofan para:

  • Treinar um classificador RUL.
  • Salve o classificador como um modelo.
  • Crie uma imagem de contêiner.
  • Implante e teste a imagem como um serviço Web.

Continue para o próximo artigo para criar um dispositivo do IoT Edge.