Создание заданий Машинного обучения Azure

Завершено

Первый шаг реализации модели машинного обучения — запуск задания Машинного обучения Azure. Отдельные скрипты можно запускать как задания команды, а группы скриптов — как задания конвейера.

Команда по обработке и анализу данных предоставляет вам результаты своей работы в записной книжке Jupyter, в которой данные загружаются, преобразуются и обучаются. Чтобы подготовить код и модель для рабочей среды, выполните следующие действия:

  • Рефакторинг записной книжки в скрипты.
  • См. скрипты в определении задания.
  • Запуск задания для обучения модели.

Рефакторинг кода в скрипты

Чтобы подготовить модель машинного обучения к рабочей среде, сначала необходимо подготовить код для рабочей среды. Если у вас есть записная книжка Jupyter, которую нужно преобразовать в рабочий код, выполните следующие действия:

  • Очистка ненужного кода.
  • Экспорт кода в скрипты Python.
  • Использование функций в скриптах.

При использовании функций в скриптах будет проще протестировать качество кода. Если у вас есть скрипт, который требуется выполнить, можно использовать задание Машинного обучения Azure для выполнения кода.

Определение задания Машинного обучения Azure

Чтобы определить задание в Машинном обучении Azure, можно создать YAML-файл. Вы можете выполнить скрипт как задание команды или несколько скриптов последовательно в виде конвейера. В обоих случаях потребуется создать YAML-файл, который содержит следующие сведения:

  • Какие скрипты надо выполнить.
  • Входные и выходные данные для каждого скрипта.
  • Вычислительные ресурсы, которые будут использоваться для выполнения скриптов.
  • Среда, которую нужно установить на вычислительных ресурсах для запуска скриптов.

Пример задания команды, использующего зарегистрированный ресурс данных в качестве входных данных при запуске скрипта main.py показан в следующем YAML:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
  python main.py 
  --diabetes-csv ${{inputs.diabetes}}
inputs:
  diabetes:
    path: azureml:diabetes-data:1
    mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.

В YAML-файле вы найдете необходимые сведения:

  • code ссылается на локальную папку, где хранятся скрипты, которые требуется запустить. Ключ command указывает, что скрипт main.py в папке src должен быть выполнен, используя значение inputs.diabetes параметра diabetes-csv.
  • Версия 1 зарегистрированного ресурса данных diabetes-data в рабочей области Машинного обучения Azure подключается к вычислительным ресурсам и будет использоваться в качестве входных данных для скрипта.
  • Вычислительный экземпляр aml-instance будет использоваться для выполнения скриптов.
  • Последняя версия зарегистрированной пользовательской среды basic-env-scikit будет установлена на вычислительном экземпляре перед запуском скрипта.

Чтобы проверить определение YAML задания, его можно активировать с помощью CLI версии 2.

Запуск задания Машинного обучения Azure

Когда вы хотите запустить задание Машинного обучения Azure, можно использовать CLI версии 2. Можно установить CLI версии 2 на локальном устройстве или использовать Azure Cloud Shell.

В любом случае необходимо сначала установить расширение Машинного обучения Azure.

Для установки в Windows выполните следующую команду:

az extension add -n ml -y

После установки расширения Машинного обучения Azure для CLI и получения доступа к подписке Azure, с которой вы хотите работать, вы можете отправить задание Машинного обучения Azure с помощью следующей команды:

az ml job create --file job.yml

Примечание.

Дополнительные сведения об управлении заданиями Машинного обучения Azure с помощью CLI (версия 2) см. в справочной документации по az ml job.