Подготовка данных для задач компьютерного зрения с помощью автоматизированного машинного обучения
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения 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. Затем он создает новый ресурс данных с именем "холодильник-items-images-object-detection" в рабочей области Машинное обучение Azure.
Если в рабочей области Машинное обучение Azure уже существует ресурс данных с именем "холодильник-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 для каждого типа задачи см. в разделе Структуры файлов JSONL для экспериментов по компьютерному зрению AutoML.
Если данные для обучения имеют другой формат (например, 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.