Partilhar via


Tutorial: Treinar e implantar um modelo do Azure Machine Learning

Aplica-se a: ícone sim IoT Edge 1.1

Importante

A data de fim do suporte do IoT Edge 1.1 foi 13 de dezembro de 2022. Consulte o Ciclo de Vida de Produtos da Microsoft para obter informações sobre como é suportado este 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, realizamos as seguintes tarefas:

  • Use o Azure Machine Learning Studio para treinar um modelo de aprendizado de máquina.
  • 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 aprendizado de máquina.

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

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

  • Crie blocos de anotações Jupyter em um espaço de trabalho do Azure Machine Learning para treinar um modelo de aprendizado de máquina.
  • Contentorize o modelo de aprendizagem automática treinado.
  • Crie um módulo IoT Edge a partir do modelo de aprendizado de máquina conteinerizado.

Pré-requisitos

Este artigo faz parte de uma série de tutoriais sobre como usar o Machine Learning no IoT Edge. Cada artigo da série baseia-se 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 notebooks Jupyter e arquivos de suporte. Aqui criamos e configuramos um projeto de Machine Learning. Se você ainda não usou o Jupyter ou o Machine Learning Studio, aqui estão dois documentos introdutórios:

Nota

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

Instalar a extensão de código do Azure Machine Learning Visual Studio

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 de código do Visual Studio.

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. Introduza o comando Azure: Sign In na paleta de comandos para iniciar o processo de início de sessão. Siga as instruções para concluir o login.

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

  4. Selecione a subscrição do Azure.

  5. Selecione + Criar novo espaço de trabalho do Azure ML e insira o nome turbofandemo.

  6. Selecione o grupo de recursos que você está usando para esta demonstração.

  7. Você deve ver o progresso da criação do espaço de trabalho no canto inferior direito da janela Código do Visual Studio: Criando espaço de trabalho: turobofandemo. Este passo pode demorar um ou dois minutos.

  8. Aguarde até que o espaço de trabalho seja criado com êxito. Deve dizer Azure ML workspace turbofandemo criado.

Carregar arquivos Jupyter Notebook

Carregaremos arquivos de bloco de anotações de exemplo em um novo espaço de trabalho do Machine Learning.

  1. Aceda a ml.azure.com e inicie sessão.

  2. Selecione seu diretório da Microsoft, a assinatura do Azure e o espaço de trabalho de Aprendizado de Máquina recém-criado.

    Captura de tela que mostra a seleção do seu espaço de trabalho do Azure Machine Learning.

  3. Depois de entrar no espaço de trabalho do Aprendizado de Máquina, vá para a seção Blocos de Anotações usando o menu do lado esquerdo.

  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 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 rever os ficheiros que carregou para a sua área de trabalho de Aprendizagem de Máquina. As atividades nesta parte do tutorial abrangem dois arquivos de bloco de anotações, que usam alguns arquivos de suporte.

  • 01-turbofan_regression.ipynb: Este bloco de anotações usa o espaço de trabalho Aprendizado de Máquina para criar e executar um experimento de aprendizado de máquina. Em linhas gerais, o bloco de anotações executa as seguintes etapas:

    1. Transfere dados da conta de Armazenamento do Azure que foi gerada pelo dispositivo de arnês.
    2. Explora e prepara os dados e, em seguida, 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 para o espaço de trabalho do Machine Learning.
  • 02-turbofan_deploy_model.ipynb: Este bloco de anotações pega o modelo criado no bloco de anotações anterior e o usa para criar uma imagem de contêiner pronta para ser implantada em um dispositivo IoT Edge. O bloco de anotações 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 espaço de trabalho do Aprendizado de Máquina.
    3. Implanta a imagem como um serviço Web em Instâncias de Contêiner do Azure.
    4. Usa o serviço Web para validar o modelo e o trabalho da imagem conforme o 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: Este arquivo contém os dados que usaremos como nosso conjunto de teste quando validarmos nosso classificador treinado. Optámos por utilizar os dados do teste, tal como previsto para o concurso original, como o nosso conjunto de testes pela sua simplicidade.

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

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

  • README.md: Este arquivo Leiame descreve o uso dos blocos de anotações.

Executar os blocos de anotações Jupyter

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

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

    Captura de ecrã que mostra a seleção do primeiro bloco de notas a ser executado.

  2. Se o bloco de notas estiver listado como Não Fidedigno, selecione o widget Não Fidedigno no canto superior direito do bloco de notas. Quando a caixa de diálogo for exibida, selecione Confiar.

  3. Para obter melhores resultados, leia a documentação de cada célula e execute-a individualmente. Selecione Executar na barra de ferramentas. Mais tarde, você achará conveniente executar várias células. Você pode ignorar os avisos de atualização e depreciação.

    Quando uma célula está em execução, ela exibe um asterisco entre colchetes ([*]). Quando a operação da célula estiver concluída, o asterisco é substituído por um número e a saída relevante pode aparecer. As células de um bloco de notas são compiladas sequencialmente e apenas uma célula pode ser executada de cada 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 selecione Shift+Enter para executar uma célula e avançar para a próxima célula.

    Gorjeta

    Para operações de célula consistentes, evite executar o mesmo bloco de anotações a partir de várias 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 ecrã que mostra a definição de propriedades globais no bloco de notas.

  5. Na célula anterior a Detalhes do espaço de trabalho, depois de executado, procure o link que instrui você a entrar para autenticar.

    Captura de ecrã que mostra o pedido de início de sessão para autenticação de dispositivos.

    Abra o link e insira o código especificado. Este procedimento de entrada autentica o bloco de anotações Jupyter para acessar recursos do Azure usando a Interface de Linha de Comando entre Plataformas 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 do ID de execução e cole-o para o ID de execução na célula que se segue a Reconstituir uma execução.

    Captura de ecrã que mostra a cópia do ID de execução entre células.

  7. Execute as células restantes no bloco de anotações.

  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 autenticar na célula que segue Configurar espaço de trabalho.

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

Verificar o sucesso

Para verificar se os blocos de anotações foram concluídos com êxito, verifique se alguns itens foram criados.

  1. Na guia Meus arquivos dos blocos de anotações do Machine Learning, selecione atualizar.

  2. Verifique se os seguintes arquivos foram criados.

    Ficheiro Description
    ./aml_config/.azureml/config.json Arquivo de configuração usado para criar o espaço de trabalho do Aprendizado de Máquina.
    ./aml_config/model_config.json Arquivo de configuração que precisaremos para implantar o modelo no espaço de trabalho turbofanDemo Machine Learning no Azure.
    myenv.yml Fornece informações sobre as dependências para o modelo de Aprendizado de Máquina implantado.
  3. Verifique se os seguintes recursos do Azure foram criados. Alguns nomes de recursos são acrescentados com caracteres aleatórios.

    Recurso do Azure Nome
    Área de trabalho do Azure Machine Learning turborfanDemo
    Registo de Contentores do Azure turbofandemoxxxxxxxx
    Application Insights turbofaninsightxxxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxxxxx
    Armazenamento do Azure turbofanstoragexxxxxxxxx

Depuração

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

Talvez seja necessário excluir arquivos criados anteriormente e recursos do Azure se precisar refazer os blocos de anotações.

Clean up resources (Limpar recursos)

Este tutorial faz parte de um conjunto onde cada artigo se baseia no trabalho realizado nos anteriores. Aguarde para limpar todos os recursos até concluir o tutorial final.

Próximos passos

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

  • Treine um classificador RUL.
  • Salve o classificador como 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 IoT Edge.