Treine um modelo de classificação de imagem TensorFlow utilizando a extensão do código do estúdio visual Azure Machine Learning (pré-visualização)
APLICA-SE A:Extensão Azure CLI ml v2 (corrente)
Aprenda a treinar um modelo de classificação de imagem para reconhecer números escritos à mão usando o TensorFlow e a extensão do código do estúdio de aprendizagem visual Azure Machine Learning.
Neste tutorial, irá aprender as seguintes tarefas:
- Compreender o código
- Criar uma área de trabalho
- Criar um cluster gpu para treino
- Preparar um modelo
Pré-requisitos
- Subscrição do Azure. Se não tiver um, inscreva-se para experimentar a versão gratuita ou paga do Azure Machine Learning. Se estiver a utilizar a subscrição gratuita, apenas os clusters cpu são suportados.
- Instale o Visual Studio Code, um editor de códigos leve e transversal.
- Extensão do Código do Estúdio Visual Azure Machine Learning. Para obter instruções de instalação consulte o guia de extensão do Código do Estúdio Visual de Aprendizagem visual de Machine Learning Azure Machine Learning
- CLI (v2). Para instruções de instalação, consulte instalar, configurar e utilizar o CLI (v2)
- Clone o repositório impulsionado pela comunidade
git clone https://github.com/Azure/azureml-examples.git
Compreender o código
O código para este tutorial usa o TensorFlow para treinar um modelo de aprendizagem automática de classificação de imagem que categoriza os dígitos manuscritos de 0-9. Fá-lo criando uma rede neural que leva os valores de pixel de imagem de 28 px x 28 px como entrada e produz uma lista de 10 probabilidades, sendo uma para cada um dos dígitos classificados. Abaixo está uma amostra de como os dados parecem.
Criar uma área de trabalho
A primeira coisa que tem de fazer para construir uma aplicação no Azure Machine Learning é criar um espaço de trabalho. Um espaço de trabalho contém os recursos para formar modelos, bem como os próprios modelos treinados. Para mais informações, veja o que é um espaço de trabalho.
Abra os exemplos azureml/cli/jobs/single-step/tensorflow/mnist directy do repositório dirigido pela comunidade no Código do Estúdio Visual.
Na barra de atividades do Código do Estúdio Visual, selecione o ícone Azure para abrir a vista Azure Machine Learning.
Na vista Azure Machine Learning, clique com o botão direito no nó de subscrição e selecione Create Workspace.
Aparece um ficheiro de especificações. Configure o ficheiro de especificações com as seguintes opções.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json name: TeamWorkspace location: WestUS2 display_name: team-ml-workspace description: A workspace for training machine learning models tags: purpose: training team: ml-team
O ficheiro de especificações cria um espaço de trabalho chamado
TeamWorkspace
naWestUS2
região. As restantes opções definidas no ficheiro de especificações fornecem nomeação amigável, descrições e etiquetas para o espaço de trabalho.Clique com o botão direito no ficheiro de especificações e selecione Azure ML: Execute YAML. A criação de um recurso utiliza as opções de configuração definidas no ficheiro de especificações YAML e submete um trabalho utilizando o CLI (v2). Neste momento, é feito um pedido ao Azure para criar um novo espaço de trabalho e recursos dependentes na sua conta. Após alguns minutos, o novo espaço de trabalho aparece no seu nó de subscrição.
Definir
TeamWorkspace
como o seu espaço de trabalho predefinido. Ao fazê-lo, coloca recursos e empregos que cria no espaço de trabalho por defeito. Selecione o botão De Espaço de Trabalho set Azure ML na barra de estado do Código do Estúdio Visual e siga as instruções para definirTeamWorkspace
como espaço de trabalho predefinido.
Para obter mais informações sobre espaços de trabalho, consulte como gerir recursos no Código VS.
Criar um cluster gpu para treino
Um alvo de cálculo é o recurso de computação ou ambiente onde você dirige trabalhos de formação. Para obter mais informações, consulte a documentação de metas de aprendizagem automática Azure.
Na vista Azure Machine Learning, expanda o nó do espaço de trabalho.
Clique com o botão certo no nó de clusters Compute dentro do nó compute do seu espaço de trabalho e selecione Create Compute
Aparece um ficheiro de especificações. Configure o ficheiro de especificações com as seguintes opções.
$schema: https://azuremlschemas.azureedge.net/latest/compute.schema.json name: gpu-cluster type: amlcompute size: Standard_NC12 min_instances: 0 max_instances: 3 idle_time_before_scale_down: 120
O ficheiro de especificações cria um cluster GPU chamado
gpu-cluster
com no máximo 3 nós VM Standard_NC12 que escala automaticamente para 0 nós após 120 segundos de inatividade.Para obter mais informações sobre tamanhos VM, consulte os tamanhos das máquinas virtuais Linux em Azure.
Clique com o botão direito no ficheiro de especificações e selecione Azure ML: Execute YAML.
Após alguns minutos, o novo alvo de computação aparece no nó de clusters Compute > Compute do seu espaço de trabalho.
Modelo de classificação de imagem de comboio
Durante o processo de treino, um modelo TensorFlow é treinado através do processamento dos dados de formação e dos padrões de aprendizagem incorporados no mesmo para cada um dos respetivos dígitos ser classificado.
Tal como os espaços de trabalho e os alvos de computação, os trabalhos de formação são definidos usando modelos de recursos. Para esta amostra, a especificação é definida no ficheiro job.yml que se parece com o seguinte:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
compute: azureml:gpu-cluster
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Este ficheiro de especificações submete um trabalho de formação chamado tensorflow-mnist-example
ao alvo de computador recentemente criado gpu-cluster
que executa o código no train.py script Python. O ambiente utilizado é um dos ambientes curados fornecidos pela Azure Machine Learning que contém TensorFlow e outras dependências de software necessárias para executar o script de formação. Para obter mais informações sobre ambientes curados, consulte ambientes curados da Azure Machine Learning.
Para submeter o trabalho de formação:
- Abra o ficheiro.yml .
- Clique com o direito no ficheiro no editor de texto e selecione Azure ML: Execute YAML.
Neste momento, é enviado um pedido ao Azure para executar a sua experiência no alvo de computação selecionado no seu espaço de trabalho. Este processo demora vários minutos. A quantidade de tempo para executar o trabalho de formação é impactada por vários fatores como o tipo de cálculo e o tamanho dos dados de treino. Para acompanhar o progresso da sua experiência, clique com o botão direito no nó de execução atual e selecione Ver Job em portal do Azure.
Quando o diálogo pedir para abrir um website externo aparecer, selecione Open.
Quando o modelo é feito de formação, a etiqueta de estado ao lado do nó de execução atualiza para "Concluído".
Passos seguintes
Neste tutorial, irá aprender as seguintes tarefas:
- Compreender o código
- Criar uma área de trabalho
- Criar um cluster gpu para treino
- Preparar um modelo
Para os próximos passos, consulte:
- Criar e gerir recursos de aprendizagem automática Azure usando o Código do Estúdio Visual.
- Ligue o Código do Estúdio Visual a uma instância de computação para uma experiência de desenvolvimento completa.
- Para uma análise de como editar, correr e depurar código localmente, consulte o tutorial python hello-world.
- Executar cadernos Jupyter em Visual Studio Code usando um servidor Jupyter remoto.
- Para uma passagem de como treinar com a Azure Machine Learning fora do Código do Estúdio Visual, consulte Tutorial: Treine e implemente um modelo com Azure Machine Learning.