Поделиться через


Подготовка данных для задач компьютерного зрения с помощью автоматизированного машинного обучения

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения 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.

Необходимые компоненты

Получение помеченных данных

Для обучения моделей компьютерного зрения с помощью 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 тип раздела схемы, как показано в этой анимации.

Анимация, показывающая, как зарегистрировать ресурс данных из jsonl-файлов.

Использование предварительно заданных данных обучения из хранилища 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 для обучения моделей компьютерного зрения".