Prepare dados para tarefas de visão computacional com aprendizado de máquina automatizado
APLICA-SE A:Azure CLI ml extension v2 (current)Python SDK azure-ai-ml v2 (current)
Importante
O suporte para treinar modelos de visão computacional com ML automatizado no Azure Machine Learning é um recurso de visualização pública experimental. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.
Neste artigo, você aprenderá a preparar dados de imagem para treinar modelos de visão computacional com aprendizado de máquina automatizado no Azure Machine Learning. Para gerar modelos para tarefas de visão computacional com aprendizado de máquina automatizado, você precisa trazer dados de imagem rotulados como entrada para treinamento de modelos na forma de um MLTable
arquivo .
Você pode criar um MLTable
a partir de dados de treinamento rotulados no formato JSONL. Se os dados de treinamento rotulados estiverem em um formato diferente, como Pascal Visual Object Classes (VOC) ou COCO, você poderá usar um script de conversão para convertê-los em JSONL e, em seguida, criar um MLTable
arquivo . Como alternativa, você pode usar a ferramenta de rotulagem de dados do Aprendizado de Máquina do Azure para rotular imagens manualmente. Em seguida, exporte os dados rotulados para usar no treinamento do seu modelo AutoML.
Pré-requisitos
- Familiarize-se com os esquemas aceitos para arquivos JSONL para experimentos de visão computacional AutoML.
Obter dados rotulados
Para treinar modelos de visão computacional usando AutoML, você precisa obter dados de treinamento rotulados. As imagens precisam ser carregadas na nuvem. As anotações de rótulo precisam estar no formato JSONL. Você pode usar a ferramenta de Rotulagem de Dados do Aprendizado de Máquina do Azure para rotular seus dados ou pode começar com dados de imagem pré-rotulados.
Usar a ferramenta de Rotulagem de Dados do Azure Machine Learning para rotular seus dados de treinamento
Se você não tiver dados pré-rotulados, poderá usar a ferramenta de rotulagem de dados do Azure Machine Learning para rotular imagens manualmente. Esta ferramenta gera automaticamente os dados necessários para a formação no formato aceite. Para obter mais informações, consulte Configurar um projeto de rotulagem de imagem.
A ferramenta ajuda a criar, gerenciar e monitorar tarefas de rotulagem de dados para:
- Classificação de imagem (multiclasse e multi-label)
- Deteção de objetos (caixa delimitadora)
- Segmentação de instâncias (polígono)
Se você já tiver dados rotulados para usar, exporte esses dados rotulados como um Conjunto de Dados do Azure Machine Learning e acesse o conjunto de dados na guia Conjuntos de Dados no estúdio do Azure Machine Learning. Você pode passar esse conjunto de dados exportado como uma entrada usando azureml:<tabulardataset_name>:<version>
o formato. Para obter mais informações, consulte Exportar os rótulos.
Aqui está um exemplo de como passar o conjunto de dados existente como entrada para treinar modelos de visão computacional.
APLICA-SE A: Azure CLI ml extension v2 (atual)
training_data:
path: azureml:odFridgeObjectsTrainingDataset:1
type: mltable
mode: direct
Usar dados de treinamento pré-rotulados da máquina local
Se você tiver rotulado os dados que deseja usar para treinar seu modelo, carregue as imagens no Azure. Você pode carregar suas imagens para o Armazenamento de Blob do Azure padrão do seu Espaço de Trabalho do Azure Machine Learning. Registre-o como um ativo de dados. Para obter mais informações, consulte Criar e gerenciar ativos de dados.
O script a seguir carrega os dados de imagem em sua máquina local no caminho ./data/odFridgeObjects para armazenamento de dados no Armazenamento de Blob do Azure. Em seguida, ele cria um novo ativo de dados com o nome fridge-items-images-object-detection
em seu Espaço de Trabalho do Azure Machine Learning.
Se já existir um ativo de dados com o nome fridge-items-images-object-detection
no seu Espaço de Trabalho do Azure Machine Learning, o código atualiza o número da versão do ativo de dados e o aponta para o novo local onde os dados de imagem foram carregados.
APLICA-SE A: Azure CLI ml extension v2 (atual)
Crie um arquivo .yml com a seguinte configuração.
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: ./data/odFridgeObjects
type: uri_folder
Para carregar as imagens como um ativo de dados, execute o seguinte comando da CLI v2 com o caminho para o arquivo .yml , o nome do espaço de trabalho, o grupo de recursos e a ID da assinatura.
az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Se você já tiver seus dados em um armazenamento de dados existente, poderá criar um ativo de dados a partir dele. Forneça o caminho para os dados no armazenamento de dados em vez do caminho da sua máquina local. Atualize o código anterior com o seguinte trecho.
APLICA-SE A: Azure CLI ml extension v2 (atual)
Crie um arquivo .yml com a seguinte configuração.
$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/<path_to_image_data_folder>
type: uri_folder
Em seguida, obtenha as anotações de rótulo no formato JSONL. O esquema de dados rotulados depende da tarefa de visão computacional em mãos. Para saber mais sobre o esquema JSONL necessário para cada tipo de tarefa, consulte Esquemas de dados para treinar modelos de visão computacional com aprendizado de máquina automatizado.
Se seus dados de treinamento estiverem em um formato diferente, como pascal VOC ou COCO, os scripts auxiliares podem converter os dados para JSONL. Os scripts estão disponíveis em exemplos de cadernos.
Depois de criar o arquivo .jsonl , você pode registrá-lo como um ativo de dados usando a interface do usuário. Certifique-se de selecionar stream
digitar na seção de esquema, conforme mostrado nesta animação.
Usar dados de treinamento pré-rotulados do armazenamento de Blob do Azure
Se seus dados de treinamento rotulados estiverem presentes em um contêiner no armazenamento de Blob do Azure, você poderá acessá-los diretamente. Crie um armazenamento de dados para esse contêiner. Para obter mais informações, consulte Criar e gerenciar ativos de dados.
Criar MLTable
Depois que seus dados rotulados estiverem no formato JSNL, você poderá usá-los para criar MLTable
como mostrado neste trecho de yaml. MLtable empacota seus dados em um objeto consumível para treinamento.
paths:
- file: ./train_annotations.jsonl
transformations:
- read_json_lines:
encoding: utf8
invalid_lines: error
include_path_column: false
- convert_column_types:
- columns: image_url
column_type: stream_info
Em seguida, você pode passar o MLTable
como uma entrada de dados para o seu trabalho de treinamento AutoML. Para obter mais informações, consulte Configurar o AutoML para treinar modelos de visão computacional.