Preparar dados para tarefas de pesquisa visual computacional com machine learning automatizado v1
APLICA-SE A: SDK do Python azureml v1
Importante
Alguns comandos da CLI do Azure neste artigo usam a extensão azure-cli-ml
ou v1 do Azure Machine Learning. O suporte à extensão v1 terminará em 30 de setembro de 2025. Você poderá instalar e usar a extensão v1 até essa data.
Recomendamos que você faça a transição para a extensão ml
ou v2, antes de 30 de setembro de 2025. Para obter mais informações sobre a extensão v2, confira Extensão da CLI do Azure ML e SDK do Python v2.
Importante
O suporte ao treinamento de modelos de pesquisa visual computacional com ML automatizado do Azure Machine Learning é uma versão prévia do recurso pública e experimental. 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 artigo, você aprenderá a preparar dados de imagem para treinar modelos de pesquisa visual computacional com machine learning automatizado no Azure Machine Learning.
Para gerar modelos para tarefas de visão computacional com o AutoML, é necessário incluir dados de imagem rotulados como entrada para o treinamento de modelo na forma de um TabularDataset do Azure Machine Learning.
Para ter certeza de que o TabularDataset contém o esquema aceito para consumo no ML automatizado, você pode usar a ferramenta de rotulagem de dados do Azure Machine Learning ou um script de conversão.
Pré-requisitos
Familiarize-se com os esquemas aceitos de arquivos JSONL para experimentos de pesquisa visual computacional do AutoML.
Os dados rotulados que você deseja usar para treinar modelos de pesquisa visual computacional com ML automatizado.
Rotulagem de dados do Azure Machine Learning
Se você não tiver dados rotulados, poderá usar a ferramenta de rotulagem de dados do Azure Machine Learning para rotulá-los manualmente. Essa ferramenta gera automaticamente os dados exigidos para treinamento no formato aceito.
Ela ajuda a criar, gerenciar e monitorar tarefas de rotulagem de dados para
- Classificação de imagem (várias classes e vários rótulos)
- Detecção de objetos (caixa delimitada)
- Segmentação de instâncias (polígono)
Se você já tiver um projeto de rotulagem de dados e quiser usar esses dados, poderá exportar os dados rotulados como um TabularDataset do Azure Machine Learning, que pode ser usado diretamente com o ML automatizado para treinar modelos de pesquisa visual computacional.
Usar scripts de conversão
Se você tem dados rotulados em formatos de dados de pesquisa visual computacional populares, como VOC ou COCO, scripts auxiliares para gerar arquivos JSONL para dados de treinamento e validação estão disponíveis nos exemplos de notebook.
Se os dados não seguirem nenhum dos formatos mencionados anteriormente, será possível usar seu próprio script para gerar arquivos JSON Lines. Para gerar arquivos JSON Lines, use esquemas definidos em Esquema de arquivos JSONL para experimentos de imagem do AutoML.
Depois que os arquivos de dados forem convertidos para o formato JSONL aceito, será possível carregá-los na conta de armazenamento no Azure.
Carregar o arquivo JSONL e as imagens para o armazenamento
Para usar os dados em treinamento de machine learning automatizado, carregue os dados no workspace do Azure Machine Learning por meio de um armazenamento de dados. O armazenamento de dados oferece um mecanismo para carregar ou baixar dados para armazenamento no Azure e interagir com eles em seus destinos de computação remotos.
Carregue todo o diretório pai, que consiste em imagens e arquivos JSONL, para o armazenamento de dados padrão que é criado automaticamente após a criação do workspace. Esse armazenamento de dados se conecta ao contêiner do Armazenamento de Blobs do Azure padrão que foi criado como parte da criação do workspace.
# Retrieve default datastore that's automatically created when we setup a workspace
ds = ws.get_default_datastore()
ds.upload(src_dir='./fridgeObjects', target_path='fridgeObjects')
Depois que o upload de dados for concluído, será possível criar um TabularDataset do Azure Machine Learning. Em seguida, registre o conjunto de dados no workspace para uso futuro como entrada em experimentos de ML automatizado para modelos de visão computacional.
from azureml.core import Dataset
from azureml.data import DataType
training_dataset_name = 'fridgeObjectsTrainingDataset'
# create training dataset
training_dataset = Dataset.Tabular.from_json_lines_files(path=ds.path("fridgeObjects/train_annotations.jsonl"),
set_column_types={"image_url": DataType.to_stream(ds.workspace)}
)
training_dataset = training_dataset.register( workspace=ws,name=training_dataset_name)
print("Training dataset name: " + training_dataset.name)