Подготовка данных для задач компьютерного зрения с помощью автоматизированного машинного обучения
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)
Внимание
Поддержка обучающих моделей компьютерного зрения с помощью автоматизированного ML в Машинном обучении Azure является экспериментальной признаком общедоступной предварительной версии. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Из этой статьи вы узнаете, как подготовить данные изображений для обучения моделей компьютерного зрения с помощью автоматизированного машинного обучения в Машинном обучение Azure. Чтобы создать модели для задач компьютерного зрения с помощью автоматизированного машинного обучения, необходимо перенести помеченные данные изображения в качестве входных данных для обучения моделей MLTable
в виде.
Помеченные данные для обучения в формате JSONL можно преобразовать в MLTable
. Если данные обучения с метками в другом формате, например Классы визуальных объектов Pascal (VOC) или COCO, можно использовать скрипт преобразования для преобразования в JSONL, а затем создать MLTable
. Кроме того, можно использовать средство маркировки данных Машинное обучение Azure для ручной маркировки изображений. Затем экспортируйте помеченные данные для обучения модели AutoML.
Необходимые компоненты
- Ознакомьтесь с принятыми схемами для файлов JSON для экспериментов с компьютерным зрением в AutoML.
Получение помеченных данных
Для обучения моделей компьютерного зрения с помощью AutoML необходимо получить помеченные обучающие данные. Изображения должны быть отправлены в облако. Заметки меток должны быть в формате JSONL. Вы можете использовать средство маркировки данных Машинное обучение Azure, чтобы пометить данные или начать с предварительно подготовленных данных изображения.
Использование средства маркировки данных Машинное обучение Azure для маркировки обучающих данных
Если у вас нет предварительно заданных данных, можно использовать средство маркировки данных Машинное обучение Azure для ручной маркировки изображений. Этот инструмент автоматически создает данные, необходимые для обучения в принятом формате. Дополнительные сведения см. в разделе "Настройка проекта маркировки изображений".
Это средство помогает создавать, управлять и отслеживать задачи маркировки данных для следующих задач:
- Классификации изображений (с несколькими классами и с несколькими метками)
- Обнаружения объектов (ограничивающий прямоугольник)
- Сегментации экземпляров (многоугольник)
Если у вас уже есть помеченные данные, экспортируйте эти данные в качестве набора данных Машинное обучение Azure и получите доступ к набору данных на вкладке "Наборы данных" в Студия машинного обучения Azure. Этот экспортируемый набор данных можно передать в качестве входных данных с помощью azureml:<tabulardataset_name>:<version>
формата. Дополнительные сведения см. в разделе "Экспорт меток".
Ниже приведен пример передачи существующего набора данных в качестве входных данных для обучения моделей компьютерного зрения.
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
training_data:
path: azureml:odFridgeObjectsTrainingDataset:1
type: mltable
mode: direct
Использование предварительно заданных данных обучения с локального компьютера
Если у вас есть помеченные данные, которые вы хотите использовать для обучения модели, отправьте образы в Azure. Вы можете отправить образы в Хранилище BLOB-объектов Azure вашей рабочей области Машинное обучение Azure по умолчанию. Зарегистрируйте его в качестве ресурса данных. Дополнительные сведения см. в статье "Создание ресурсов данных и управление ими".
Следующий скрипт отправляет данные изображения на локальном компьютере по пути ./data/odFridgeObjects в хранилище данных в Хранилище BLOB-объектов Azure. Затем он создает новый ресурс данных с именем fridge-items-images-object-detection
в рабочей области Машинное обучение Azure.
Если в рабочей области Машинное обучение Azure уже существует ресурс данных с именемfridge-items-images-object-detection
, код обновляет номер версии ресурса данных и указывает на новое расположение, в котором отправлены данные изображения.
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
Создайте файл .yml со следующей конфигурацией.
$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
Чтобы отправить изображения в качестве ресурса данных, выполните следующую команду CLI версии 2 с путем к файлу .yml , имени рабочей области, группе ресурсов и идентификатору подписки.
az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]
Если у вас уже есть данные в существующем хранилище данных, вы можете создать из него ресурс данных. Укажите путь к данным в хранилище данных вместо пути локального компьютера. Обновите предыдущий код с помощью следующего фрагмента кода .
ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)
Создайте файл .yml со следующей конфигурацией.
$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
Затем получите заметки меток в формате JSONL. Структура помеченных данных зависит от текущей задачи компьютерного зрения. Дополнительные сведения о требуемой схеме JSONL для каждого типа задачи см. в разделе "Схемы данных" для обучения моделей компьютерного зрения с помощью автоматизированного машинного обучения.
Если данные обучения в другом формате, например pascal VOC или COCO, вспомогательные скрипты могут преобразовать данные в JSONL. Сценарии доступны в примерах записной книжки.
После создания JSONL-файла его можно зарегистрировать в качестве ресурса данных с помощью пользовательского интерфейса. Убедитесь, что выбран stream
тип раздела схемы, как показано в этой анимации.
Использование предварительно заданных данных обучения из хранилища BLOB-объектов Azure
Если данные обучения с метками присутствуют в контейнере в хранилище BLOB-объектов Azure, вы можете получить к нему доступ напрямую. Создайте хранилище данных для этого контейнера. Дополнительные сведения см. в статье "Создание ресурсов данных и управление ими".
Создание MLTable
После добавления помеченных данных в формате JSONL его можно использовать для создания MLTable
, как показано в этом фрагменте кода yaml. MLTable упаковывает данные в объект, пригодный для употребления при обучении.
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
Изображения можно передать в MLTable
в качестве входных данных для задания обучения AutoML. Дополнительные сведения см. в статье "Настройка AutoML для обучения моделей компьютерного зрения".