Создание и изучение набора данных с метками в Машинном обучении Azure
Из этой статьи вы узнаете, как экспортировать метки данных из проекта маркировки данных в Машинном обучении Azure и выгрузить их в популярные форматы, например в виде кадра данных Pandas для исследования данных.
Что такое наборы данных с метками
Наборы данных с метками — это наборы данных Машинного обучения Azure, снабженные метками. Объекты TabularDataset такого типа с выделенным столбцом меток создаются только в качестве выходных данных проектов маркировки в Машинном обучении Azure. Создайте проект маркировки данных для применения меток к изображениям или применения меток к тексту. Решение "Машинное обучение" поддерживает проекты маркировки данных для классификации изображений (с несколькими метками или классами) и идентификация объектов (с использованием ограничивающих прямоугольников).
Необходимые компоненты
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
- Пакет SDK Python для Машинного обучения Azure или доступ к Студии машинного обучения Azure.
- Рабочая область машинного обучения. См.раздел Создание ресурсов рабочей области.
- Доступ к проекту маркировки данных в Машинном обучении Azure. Если у вас еще нет проекта маркировки данных, создайте его для применения меток к изображениям или применения меток к тексту.
Экспорт меток данных
После завершения проекта маркировки данных вы можете экспортировать данные метки из этого проекта. Этот процесс позволяет сохранить и ссылки на данные, и присвоенные им метки в виде файла формата COCO или набора данных Машинного обучения Azure.
Используйте для этого кнопку Экспорт на странице Сведения о проекте для проекта добавления меток.
COCO
Файл COCO создается в хранилище больших двоичных объектов по умолчанию для рабочей области Машинного обучения Azure в папке export/coco.
Примечание.
В проектах обнаружения объектов значения "bbox": [x,y,width,height]", экспортированные в файл COCO, нормализуются автоматически. Они масштабируются до 1. Пример. Ограничивающий прямоугольник в расположении (10, 10) с шириной 30 пикселей и высотой 60 пикселей для изображения размером 640×480 пикселей получит обозначение (0,015625; 0,02083; 0,046875; 0,125). Так как координаты нормализуются, width (ширина) и height (высота) для всех изображений будет выражена значением 0,0. Реальные значения ширины и высоты можно получить с помощью библиотек Python, например OpenCV или Pillow(PIL).
Набор данных службы "Машинное обучение Azure"
Получить доступ к экспортированному набору данных Машинного обучения Azure можно через раздел Наборы данных в студии Машинного обучения Azure. На странице Сведения набора данных есть пример кода для доступа к меткам из Python.
Совет
После того как вы экспортировали помеченные данные в набор данных Машинного обучения Azure, используйте AutoML для создания моделей компьютерного зрения, обученных по помеченным данным. Дополнительные сведения о настройке AutoML для обучения моделей компьютерного зрения с помощью Python
Изучение наборов данных с метками с помощью Pandas
Загрузите помеченные наборы данных в кадр данных Pandas, чтобы воспользоваться популярными библиотеками с открытым кодом для исследования данных с помощью to_pandas_dataframe()
метода из azureml-dataprep
класса.
Чтобы установить этот класс, выполните следующую команду:
pip install azureml-dataprep
В следующем коде в качестве набора данных animal_labels
используются выходные данные проекта маркировки, ранее сохраненные в рабочей области.
Объект TabularDataset является экспортированным набором данных.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python версии 1
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)