创建和浏览带标签的 Azure 机器学习数据集

在本文中,你将学习如何从 Azure 机器学习数据标记项目中导出数据标签,并将其加载为常用格式,例如,加载为 Pandas 数据帧以用于浏览数据。

什么是带标签的数据集

将带标签的 Azure 机器学习数据集称为带标签的数据集。 这些特定数据集是具有专用标签列的 TabularDatasets,只能创建为 Azure 机器学习数据标签项目的输出。 为图像标记文本标记创建数据标记项目。 机器学习支持用于图像分类的数据标记项目(无论是多标签的还是多类的),以及带边界框的对象标识。

先决条件

导出数据标签

完成数据标记项目后,可以从标记项目中导出标签数据。 这样,便可以捕获对数据及其标签的引用,并将其导出为 COCO 格式或 Azure 机器学习数据集。

使用标记项目的“项目详细信息”页上的“导出”按钮。

工作室 UI 中的“导出”按钮

COCO

COCO 文件是在 Azure 机器学习工作区的默认 Blob 存储中创建的,该存储位于 export/coco 内的某个文件夹中。

注意

在物体检测项目中,COCO 文件中导出的“bbox": [x,y,width,height]”值已规范化。 其度量单位设定为 1。 示例:在像素为 640x480 的图像中,位置位于 (10, 10)、宽度为 30 像素、高度为 60 像素的边框将被标注为 (0.015625. 0.02083, 0.046875, 0.125)。 由于坐标已规范化,因此所有图像的“宽度”和“高度”将显示为“0.0”。 可以使用 Python 库(如 OpenCV 或 Pillow(PIL))获取实际的宽度和高度。

Azure 机器学习数据集

可以在 Azure 机器学习工作室的“数据集”部分中访问导出的 Azure 机器学习数据集。 数据集“详细信息”页还提供了演示如何从 Python 访问标签的示例代码。

导出的数据集

提示

将标记数据导出到 Azure 机器学习数据集后,可以使用 AutoML 构建基于标记数据训练的计算机视觉模型。 要了解详细信息,请参阅设置 AutoML,以使用 Python 训练计算机视觉模型

通过 pandas 数据帧浏览带标签的数据集

将带标签的数据集加载到 pandas 数据帧中,以利用常见的开源库通过 azureml-dataprep 类中的 to_pandas_dataframe() 方法进行数据浏览。

可以使用以下 shell 命令安装此类:

pip install azureml-dataprep

在以下代码中,animal_labels 数据集是之前保存到工作区的标签项目的输出。 导出的数据集是一个 TabularDataset

适用于:Python SDK 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)

后续步骤