Tutorial: Como treinar um modelo de classificação de imagem do TensorFlow usando a extensão Visual Studio Code do Azure Machine Learning (versão prévia)
APLICA-SE A: Extensão de ML da CLI do Azurev2 (atual)
Saiba como treinar um modelo de classificação de imagem para reconhecer números manuscritos usando o TensorFlow e a extensão do Azure Machine Learning para Visual Studio Code.
Importante
Esse recurso está atualmente em visualização pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos.
Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Neste tutorial, você aprende as seguintes tarefas:
- Compreender o código
- Criar um workspace
- Treinar um modelo
Pré-requisitos
- Assinatura do Azure. Caso não tenha uma, inscreva-se para experimentar a versão paga ou gratuita do Azure Machine Learning. Se você estiver usando a assinatura gratuita, somente clusters de CPU terão suporte.
- Instale o Visual Studio Code, um editor de código leve multiplataforma.
- Extensão do Estúdio do Azure Machine Learning para Visual Studio Code. Para obter instruções de instalação, confira o guia Configurar a extensão Visual Studio Code do Azure Machine Learning
- CLI (v2). Para obter instruções de instalação, confira Instalar, configurar e usar a CLI (v2)
- Clonar o repositório orientado pela comunidade
git clone https://github.com/Azure/azureml-examples.git
Compreender o código
O código deste tutorial usa o TensorFlow para treinar um modelo de machine learning de classificação de imagem que categoriza dígitos manuscritos de 0 a 9. Ele faz isso criando uma rede neural que usa os valores de pixel de imagem de 28 px x 28 px como entrada e gera uma lista de 10 probabilidades, uma para cada um dos dígitos que estão sendo classificados. Este é um exemplo dos dados.
Criar um workspace
A primeira coisa que você precisa fazer para criar um aplicativo no Azure Machine Learning é criar um workspace. Um workspace contém os recursos para treinar modelos e os próprios modelos treinados. Para obter mais informações, confira O que é um workspace.
Abra o diretório azureml-examples/cli/jobs/single-step/tensorflow/mnist do repositório orientado pela comunidade no Visual Studio Code.
Na barra de atividade do Visual Studio Code, selecione o ícone do Azure para abrir a exibição do Azure Machine Learning.
Na exibição do Azure Machine Learning, clique com o botão direito do mouse no nó da assinatura e selecione Criar Workspace.
Um arquivo de especificação é exibido. Configure o arquivo de especificação com as opções a seguir.
$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 arquivo de especificação cria um workspace chamado
TeamWorkspace
na regiãoWestUS2
. O restante das opções definidas no arquivo de especificação fornecem nomenclatura amigável, descrições e marcações para o workspace.Clique com o botão direito do mouse no arquivo de especificação e selecione AzureML: Executar YAML. A criação de um recurso usa as opções de configuração definidas no arquivo de especificação YAML e envia um trabalho usando a CLI (v2). Nesse ponto, é feita uma solicitação ao Azure para criar um workspace e recursos dependentes na sua conta. Após alguns minutos, o novo workspace será exibido no nó da sua assinatura.
Defina
TeamWorkspace
como o workspace padrão. Por padrão, isso coloca os recursos e os trabalhos que você cria no workspace. Selecione o botão Definir Workspace do Azure Machine Learning na barra de status do Visual Studio Code e siga os avisos para definirTeamWorkspace
como seu workspace padrão.
Para obter mais informações sobre workspaces, confira Como gerenciar recursos no VS Code.
Treinar o modelo
Durante o processo de treinamento, um modelo do TensorFlow é treinado pelo processamento dos dados de treinamento e dos padrões de aprendizado inseridos nele para cada um dos respectivos dígitos que estão sendo classificados.
Assim como os workspaces e os destinos de computação, os trabalhos de treinamento são definidos usando modelos de recurso. Nesta amostra, a especificação é definida no arquivo job.yml, que é semelhante ao 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
resources:
instance_type: Standard_NC12
instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Este arquivo de especificação envia um trabalho de treinamento chamado tensorflow-mnist-example
para o destino do computador gpu-cluster
criado recentemente que executa o código no script tensorflow-mnist-example
do Python. O ambiente usado é um dos ambientes coletados oferecidos pelo Azure Machine Learning, que contém o TensorFlow e outras dependências de software necessárias para executar o script de treinamento. Para mais informações sobre ambientes coletados, confira Ambientes coletados do Azure Machine Learning.
Para enviar o trabalho de treinamento:
- Abra o arquivo job.yml.
- Clique com o botão direito do mouse no arquivo no editor de texto e selecione AzureML: Executar YAML.
Neste ponto, uma solicitação é enviada ao Azure para executar o experimento no destino de computação selecionado no workspace. Esse processo leva vários minutos. O tempo necessário para executar o trabalho de treinamento é afetado por vários fatores, como o tipo de computação e o tamanho dos dados de treinamento. Para acompanhar o progresso do experimento, clique com o botão direito do mouse no nó de execução atual e selecione Exibir trabalho no portal do Azure.
Quando a caixa de diálogo solicitando a abertura de um site externo for exibida, selecione Abrir.
Quando o treinamento do modelo for concluído, o rótulo de status ao lado do nó de execução será atualizado para "Concluído".
Próximas etapas
- Iniciar Visual Studio Code integrado ao Azure Machine Learning (versão prévia)
- Para obter um passo a passo de como editar, executar e depurar o código localmente, confira o Tutorial hello-world do Python.
- Execute o Jupyter Notebooks no Visual Studio Code usando um servidor Jupyter remoto.
- Para obter um passo a passo de como fazer o treinamento com o Azure Machine Learning fora do Visual Studio Code, confira Tutorial: Treinar e implantar um modelo com o Azure Machine Learning.