Criar e explorar conjunto de dados do Azure Machine Learning com rótulos
Neste artigo, você aprenderá a exportar os rótulos de dados de um projeto de rotulagem de dados do Azure Machine Learning e carregá-los em formatos populares, como um dataframe do Pandas para exploração de dados.
O que são conjuntos de dados com rótulos
Conjuntos de dados do Azure Machine Learning com rótulos são chamados de conjuntos de dados rotulados. Esses conjuntos de dados específicos são TabularDatasets com uma coluna de rótulo dedicada e são criados apenas como uma saída de Azure Machine Learning de rotulagem de dados. Crie um projeto de rotulagem de dados para rotulagem de imagem ou rotulagem de texto. O Machine Learning dá suporte a projetos de rotulagem de dados para classificação de imagem (de vários rótulos ou multiclasse) e à identificação do objeto junto com caixas delimitadoras.
Pré-requisitos
- Uma assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- O SDK do Azure Machine Learning para Python ou acesso ao Azure Machine Learning Studio.
- Um Workspace do Machine Learning. Confira Criar recursos de workspace.
- Acesso a um projeto de rotulagem de dados do Azure Machine Learning. Se você não tem um projeto de rotulagem, primeiro crie um para rotulagem de imagem ou rotulagem de texto.
Exportar rótulos de dados
Ao concluir um projeto de rotulagem de dados, você pode exportar os dados do rótulo de um projeto de rotulagem. Fazer isso permite que você capture a referência aos dados e seus rótulos e exporte-os no formato COCO ou como um conjunto de dados do Azure Machine Learning.
Use o botão Exportar na página Detalhes do projeto do projeto de rotulagem.
COCO
O arquivo COCO é criado no armazenamento de blobs padrão do Workspace do Azure Machine Learning em uma pasta dentro de export/coco.
Observação
Em projetos de detecção de objetos, os valores exportados "bbox": [x,y,width,height] "no arquivo COCO são normalizados. Eles são dimensionados para 1. Exemplo: uma caixa delimitadora em local (10, 10), com 30 pixels de largura, 60 pixels de altura, em uma imagem de 640x480 pixel será anotada como (0,015625, 0,02083, 0,046875, 0,125). Como as coordenadas são normalizadas, elas serão mostradas como '0,0 ' como "width" e "height" para todas as imagens. A largura e a altura reais podem ser obtidas usando a biblioteca do Python, como OpenCV ou Pillow(PIL).
Conjunto de dados do Azure Machine Learning
Acesse o conjunto de dados exportado do Azure Machine Learning na seção Conjuntos de dados do Azure Machine Learning Studio. A página de Detalhes do conjunto de dados também fornece um código de exemplo para acessar seus rótulos por meio do Python.
Dica
Depois de exportar seus dados rotulados para um conjunto de dados do Azure Machine Learning, você pode usar o AutoML para criar modelos de visão computacional treinados em seus dados rotulados. Saiba mais em Configurar o AutoML para treinar modelos de pesquisa visual computacional com o Python
Explorar conjuntos de dados rotulados por meio do pandas dataframe
Carregue seus conjuntos de dados rotulados em um pandas dataframe para aproveitar bibliotecas de código aberto populares para exploração de dados com o método to_pandas_dataframe()
da classe azureml-dataprep
.
Instale a classe com o seguinte comando de shell:
pip install azureml-dataprep
No código a seguir, o conjunto de dados animal_labels
é a saída de um projeto de rotulagem salvo anteriormente no espaço de trabalho.
O conjuntos de dados exportado é um TabularDataset.
APLICA-SE A: SDK do Python azureml v1
import azureml.core
from azureml.core import Dataset, Workspace
# get animal_labels dataset from the workspace
animal_labels = Dataset.get_by_name(workspace, 'animal_labels')
animal_pd = animal_labels.to_pandas_dataframe()
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
#read images from dataset
img = mpimg.imread(animal_pd['image_url'].iloc(0).open())
imgplot = plt.imshow(img)