Tutorial: Treinar e implantar um modelo do Azure Machine Learning
Aplica-se a: 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:
- Jupyter Notebook: Trabalhando com blocos de anotações Jupyter no Visual Studio Code
- Azure Machine Learning: Introdução ao Azure Machine Learning em blocos de anotações Jupyter
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.
No Visual Studio Code, abra a paleta de comandos selecionando Exibir>paleta de comandos na barra de menus.
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.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
.Selecione a subscrição do Azure.
Selecione + Criar novo espaço de trabalho 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 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.
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.
Aceda a ml.azure.com e inicie sessão.
Selecione seu diretório da Microsoft, a assinatura do Azure e o espaço de trabalho de Aprendizado de Máquina recém-criado.
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.
Selecione a guia Meus arquivos .
Selecione Carregar (o ícone de seta para cima).
Vá para C:\source\IoTEdgeAndMlSample\AzureNotebooks. Selecione todos os arquivos na lista e selecione Abrir.
Marque a caixa de seleção Confio 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 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:
- Transfere dados da conta de Armazenamento do Azure que foi gerada pelo dispositivo de arnês.
- Explora e prepara os dados e, em seguida, usa os dados 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 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:
- Cria um script de pontuação para o modelo.
- Produz uma imagem de contêiner usando o modelo de classificador que foi salvo no espaço de trabalho do Aprendizado de Máquina.
- Implanta a imagem como um serviço Web em Instâncias de Contêiner do Azure.
- 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.
Na página Meus arquivos, selecione 01-turbofan_regression.ipynb.
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.
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.
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.
Na célula anterior a Detalhes do espaço de trabalho, depois de executado, procure o link que instrui você a entrar para autenticar.
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.
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.
Execute as células restantes no bloco de anotações.
Salve o bloco de anotações e retorne à página do projeto.
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.
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.
Na guia Meus arquivos dos blocos de anotações do Machine Learning, selecione atualizar.
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. 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.