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


Руководство по обучению модели классификации изображений с помощью расширения Visual Studio Code машинного обучения Azure (предварительная версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ: расширение машинного обучения Azure CLI версии 2 (текущее)

В этой статье объясняется, как обучить модель классификации изображений для распознавания рукописных чисел с помощью TensorFlow и расширения Visual Studio Code машинного обучения Azure.

Внимание

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

Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

В этом руководстве вы выполнили следующие задачи.

  • Изучение кода
  • Создание рабочей области
  • Обучение модели

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

Изучение кода

Код в этом руководстве с помощью TensorFlow обучает модель машинного обучения для классификации изображений, которая определяет рукописные цифры от 0 до 9. Это делает путем создания нейронной сети, которая принимает значения пикселей изображений размером 28x28 в качестве входных данных, а затем выводит список из 10 вероятностей, по одной для каждой цифры, подлежащей классификации. В следующем примере показано, как выглядят данные.

Снимок экрана: пример цифр MNIST.

Создание рабочей области

Чтобы создать приложение в Машинном обучении Azure, сначала необходимо создать рабочую область. Рабочая область содержит ресурсы для обучения моделей и сами обученные модели. Дополнительные сведения см. в статье "Что такое рабочая область машинного обучения Azure"?

  1. В Visual Studio Code откройте каталог azureml-examples/cli/jobs/single-step/tensorflow/mnist из репозитория примеров.

  2. На панели действий Visual Studio Code щелкните значок Azure, чтобы открыть представление Машинного обучения Azure.

  3. В разделе "Машинное обучение" щелкните правой кнопкой мыши узел подписки и выберите "Создать рабочую область".

    Снимок экрана: параметр создания рабочей области.

  4. Появится файл спецификации. Настройте файл спецификации со следующими параметрами и сохраните его.

    $schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json
    name: TeamWorkspace
    location: WestUS2
    display_name: team-ml-workspace
    description: A workspace for training machine learning models
    tags:
      purpose: training
      team: ml-team
    

    Файл спецификации создает рабочую область TeamWorkspace в регионе WestUS2. Остальные параметры в файле спецификации задают понятные имена, описания и теги для рабочей области.

  5. Щелкните правой кнопкой мыши файл спецификации и выберите AzureML: Выполнить YAML. При создании ресурса используются параметры конфигурации, определенные в файле спецификации YAML, а задание отправляется с помощью CLI версии 2. На этом этапе выполняется запрос к Azure для создания новой рабочей области и зависимых ресурсов в учетной записи. Через несколько минут в узле подписки появится новая рабочая область.

  6. Выберите рабочую область по умолчанию TeamWorkspace. При этом в ней размещаются созданные ресурсы и задания. Нажмите кнопку "Задать Машинное обучение Azure рабочую область" в строке состояния Visual Studio Code и следуйте инструкциям, чтобы задать TeamWorkspace рабочую область по умолчанию.

Дополнительные сведения о рабочих областях см. в статье "Управление ресурсами машинного обучения Azure" с помощью расширения VS Code.

Обучение модели

В процессе обучения создается модель TensorFlow путем обработки внедренных в нее обучающих данных и шаблонов обучения для каждой из классифицируемых цифр.

Как и рабочие области и целевые объекты вычислений, задания обучения определяются с помощью шаблонов ресурсов. В этом примере спецификация определена в файле job.yml , который находится в папке azureml-examples/cli/jobs/single-step/tensorflow/mnist в репозитории примеров.

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
    python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
resources:
   instance_type: Standard_NC12
   instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.

Этот файл спецификации отправляет задание обучения tensorflow-mnist-example в недавно созданный целевой объект вычислений gpu-cluster, на котором выполняется код скрипта Python train.py. Используемая среда — это одна из курируемых сред, предоставляемых Машинным обучением Azure, которая содержит TensorFlow и другие зависимости программного обеспечения, необходимые для запуска скрипта обучения. Дополнительные сведения о курируемых средах Машинного обучения Azure см. в этой статье.

Чтобы отправить задание обучения, выполните следующие действия:

  1. Откройте файл job.yml.
  2. Щелкните правой кнопкой мыши файл в текстовом редакторе и выберите AzureML: Выполнить YAML.

На этом этапе в Azure отправляется запрос на запуск эксперимента на выбранном целевом объекте вычислений в вашей рабочей области. Этот процесс занимает несколько минут. Время выполнения задания обучения зависит от нескольких факторов, таких как тип вычислительной среды и объем данных для обучения. Чтобы отслеживать ход выполнения эксперимента, щелкните правой кнопкой мыши узел текущий запуск и выберите Просмотреть задание на портале Azure.

Когда откроется диалоговое окно с запросом на открытие внешнего веб-сайта, щелкните Открыть.

Снимок экрана: ход выполнения задания.

После обучения модели метка состояния рядом с выполняемым узлом обновляется до Завершено.