Tutorial: Preparar e implementar um modelo do Azure Machine Learning

Aplica-se a:sim ícone IoT Edge 1.1

Importante

IoT Edge 1,1 data de fim do suporte 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 IoT Edge.

Neste artigo, fazemos as seguintes tarefas:

  • Utilize o Azure Machine Learning Studio para preparar um modelo de machine learning.
  • Empacote o modelo preparado como uma imagem de contentor.
  • Implemente a imagem de contentor como um módulo do Azure IoT Edge.

O Machine Learning Studio é um bloco fundamental utilizado para experimentar, preparar e implementar modelos de machine learning.

Normalmente, os passos neste artigo podem ser realizados por cientistas de dados.

Nesta secção do tutorial, irá aprender a:

  • Crie blocos de notas do Jupyter numa área de trabalho do Azure Machine Learning para preparar um modelo de machine learning.
  • Colocar o modelo de machine learning preparado em contentores.
  • Crie um módulo de IoT Edge a partir do modelo de machine learning em contentores.

Pré-requisitos

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

Configurar o Azure Machine Learning

Utilizamos o Machine Learning Studio para alojar os dois blocos de notas do Jupyter e ficheiros de suporte. Aqui, criamos e configuramos um projeto de Machine Learning. Se ainda não utilizou o Jupyter ou o Machine Learning Studio, eis dois documentos introdutórios:

Nota

Após a configuração do serviço, o Machine Learning pode ser acedido a partir de qualquer computador. Durante a configuração, deve utilizar a VM de desenvolvimento, que tem todos os ficheiros de que irá precisar.

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

O Visual Studio Code na VM de desenvolvimento deve ter esta extensão instalada. Se estiver a executar numa 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 aprovisionar recursos e executar cargas de trabalho no Azure, inicie sessão com as credenciais da conta do Azure.

  1. No Visual Studio Code, abra a paleta de comandos ao selecionar Ver>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 início de sessão.

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

  4. Selecione a sua subscrição do Azure.

  5. Selecione + Criar nova Área de Trabalho do Azure ML e introduza o nome turbofandemo.

  6. Selecione o grupo de recursos que tem utilizado para esta demonstração.

  7. Deverá ver o progresso da criação da área de trabalho no canto inferior direito da janela do Visual Studio Code: Creating Workspace: turobofandemo. Este passo pode demorar um ou dois minutos.

  8. Aguarde que a área de trabalho seja criada com êxito. Deve indicar que a área de trabalho do Azure ML turbofandemo foi criada.

Carregar ficheiros Jupyter Notebook

Vamos carregar ficheiros de bloco de notas de exemplo para uma nova área de trabalho do Machine Learning.

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

  2. Selecione o diretório da Microsoft, a subscrição do Azure e a área de trabalho do Machine Learning recém-criada.

    Captura de ecrã que mostra a seleção da área de trabalho do Azure Machine Learning.

  3. Depois de iniciar sessão na área de trabalho do Machine Learning, aceda à secção Blocos de Notas com o menu no lado esquerdo.

  4. Selecione o separador Os meus ficheiros .

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

  6. Aceda a C:\source\IoTEdgeAndMlSample\AzureNotebooks. Selecione todos os ficheiros na lista e selecione Abrir.

  7. Selecione a caixa de verificação Confio no conteúdo destes ficheiros .

  8. Selecione Carregar para começar a carregar. Em seguida, selecione Concluído após a conclusão do processo.

Jupyter Notebook ficheiros

Vamos rever os ficheiros que carregou para a área de trabalho do Machine Learning. As atividades nesta parte do tutorial abrangem dois ficheiros de bloco de notas, que utilizam alguns ficheiros de suporte.

  • 01-turbofan_regression.ipynb: este bloco de notas utiliza a área de trabalho do Machine Learning para criar e executar uma experimentação de machine learning. Geralmente, o bloco de notas efetua os seguintes passos:

    1. Transfere dados da conta de Armazenamento do Azure que foram gerados pelo arnês do dispositivo.
    2. Explora e prepara os dados e, em seguida, utiliza os dados para preparar o modelo do classificador.
    3. Avalia o modelo da experimentação com um conjunto de dados de teste (Test_FD003.txt).
    4. Publica o melhor modelo de classificador na área de trabalho do Machine Learning.
  • 02-turbofan_deploy_model.ipynb: este bloco de notas utiliza o modelo criado no bloco de notas anterior e utiliza-o para criar uma imagem de contentor pronta para ser implementada num dispositivo IoT Edge. O bloco de notas executa os seguintes passos:

    1. Cria um script de classificação para o modelo.
    2. Produz uma imagem de contentor com o modelo de classificador que foi guardado na área de trabalho do Machine Learning.
    3. Implementa a imagem como um serviço Web no Azure Container Instances.
    4. Utiliza o serviço Web para validar o modelo e a imagem como esperado. A imagem validada será implementada no nosso dispositivo IoT Edge na parte Criar e implementar módulos de IoT Edge personalizados deste tutorial.
  • Test_FD003.txt: este ficheiro contém os dados que iremos utilizar como o nosso conjunto de testes quando validarmos o nosso classificador preparado. Optámos por utilizar os dados de teste, conforme fornecido para o concurso original, como o nosso conjunto de testes para a 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 os ficheiros readme.txt e Propagação de Danos Modeling.pdf em C:\source\IoTEdgeAndMlSample\data\Turbofan para obter uma explicação detalhada dos dados.

  • Utils.py: este ficheiro contém um conjunto de funções utilitárias python para trabalhar com dados. O primeiro bloco de notas contém uma explicação detalhada das funções.

  • README.md: este ficheiro readme descreve a utilização dos blocos de notas.

Executar os blocos de notas do Jupyter

Agora que a área de trabalho foi criada, pode executar os blocos de notas.

  1. Na página Os meus ficheiros , selecione 01-turbofan_regression.ipynb.

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

  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 apresentada, selecione Confiar.

  3. Para obter os melhores resultados, leia a documentação de cada célula e execute-a individualmente. Selecione Executar na barra de ferramentas. Mais tarde, irá achar mais rápido executar múltiplas células. Pode ignorar os avisos de atualização e preterição.

    Quando uma célula está em execução, apresenta um asterisco entre parênteses retos ([*]). Quando a operação da célula estiver concluída, o asterisco é substituído por um número e poderá ser apresentado um resultado relevante. As células num bloco de notas são compiladas sequencialmente e apenas uma célula pode ser executada de cada vez.

    Também pode utilizar 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 célula seguinte.

    Dica

    Para operações de célula consistentes, evite executar o mesmo bloco de notas a partir de vários separadores no browser.

  4. Na célula que segue as instruções Definir propriedades globais , introduza os valores da sua subscrição, definiçõ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 aos detalhes da Área de Trabalho, depois de ser executada, procure a ligação que lhe instrui a iniciar sessão para autenticar.

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

    Abra a ligação e introduza o código especificado. Este procedimento de início de sessão autentica o bloco de notas do Jupyter para aceder aos recursos do Azure com a Interface de Linha de Comandos De Várias Plataformas do Microsoft Azure.

    Captura de ecrã que mostra a autenticação da aplicação 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 restantes células no bloco de notas.

  8. Guarde o bloco de notas e regresse à página do projeto.

  9. Abra 02-turbofan_deploy_model.ipynb e execute cada célula. Terá de iniciar sessão para se autenticar na célula que se segue Configurar área de trabalho.

  10. Guarde o bloco de notas e regresse à página do projeto.

Verificar o êxito

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

  1. No separador Blocos de notas do Machine Learning Os meus ficheiros , selecione atualizar.

  2. Verifique se foram criados os seguintes ficheiros.

    Ficheiro Descrição
    ./aml_config/.azureml/config.json Ficheiro de configuração utilizado para criar a área de trabalho do Machine Learning.
    ./aml_config/model_config.json Ficheiro de configuração que precisamos para implementar o modelo na área de trabalho turbofanDemo Machine Learning no Azure.
    myenv.yml Fornece informações sobre as dependências do modelo de Machine Learning implementado.
  3. Verifique se foram criados os seguintes recursos do Azure. Alguns nomes de recursos são acrescentados com carateres aleatórios.

    Recurso do Azure Name
    Área de trabalho do Azure Machine Learning turborfanDemo
    Registo de Contentores do Azure turbofandemoxxxxxx
    Application Insights turbofaninsightxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxxx
    Storage do Azure turbofanstoragexxxxxxx

Depurar

Pode inserir instruções python no bloco de notas 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 são declaradas ou instanciadas pela primeira vez.

Poderá ter de eliminar ficheiros criados anteriormente e recursos do Azure se precisar de refazer os blocos de notas.

Limpar os recursos

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

Passos seguintes

Neste artigo, utilizámos dois blocos de notas do Jupyter em execução no Machine Learning Studio para utilizar os dados dos dispositivos turbofan para:

  • Preparar um classificador RUL.
  • Guarde o classificador como modelo.
  • Criar uma imagem de contentor.
  • Implementar e testar a imagem como um serviço Web.

Continue para o artigo seguinte para criar um dispositivo IoT Edge.