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


Руководство по обучению и развертыванию модели машинного обучения Azure

Применимо к:значок IoT Edge 1.1

Это важно

Дата окончания поддержки IoT Edge 1.1 была 13 декабря 2022 г.. Чтобы получить сведения о поддержке определенного продукта, службы, технологии или API, перейдите на страницу Политика жизненного цикла поддержки Майкрософт. Дополнительные сведения об обновлении до последней версии IoT Edge см. в статье Update IoT Edge.

В этой статье мы делаем следующие задачи:

  • Используйте Студию машинного обучения Azure для обучения модели машинного обучения.
  • Упакуйте обученную модель в образ контейнера.
  • Разверните образ контейнера в виде модуля Azure IoT Edge.

Студия машинного обучения — это базовый блок, используемый для экспериментов, обучения и развертывания моделей машинного обучения.

Действия, описанные в этой статье, обычно выполняются специалистами по обработке и анализу данных.

В этом разделе руководства вы узнаете, как:

  • Создайте записные книжки Jupyter в рабочей области Машинного обучения Azure для обучения модели машинного обучения.
  • Контейнеризируйте обученную модель машинного обучения.
  • Создайте модуль IoT Edge из контейнерной модели машинного обучения.

Предпосылки

Эта статья является частью серии руководств по использованию машинного обучения в IoT Edge. Каждая статья в серии основана на работе, приведенной в предыдущей статье. Если вы перешли непосредственно к этой статье, ознакомьтесь с первой статьей этой серии.

Настройка Машинного обучения Azure

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

Примечание.

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

Установка расширения Visual Studio Code для Машинного обучения Azure

Visual Studio Code на виртуальной машине разработки должен установить это расширение. Если вы работаете в другом экземпляре, переустановите расширение, как описано в разделе "Настройка расширения Visual Studio Code".

Создание учетной записи машинного обучения Azure

Чтобы подготовить ресурсы и запустить рабочие нагрузки в Azure, войдите с помощью учетных данных учетной записи Azure.

  1. В Visual Studio Code откройте палитру команд, выбрав "Просмотреть> палитрукоманд" в строке меню.

  2. Введите команду Azure: Sign In в палитре команд, чтобы запустить процесс входа. Следуйте инструкциям, чтобы завершить вход.

  3. Создайте вычислительный экземпляр машинного обучения для выполнения рабочей нагрузки. В палитре команд введите команду Azure ML: Create Compute.

  4. Выберите подписку Azure.

  5. Выберите Создать новую рабочую область Azure ML и введите имя turbofandemo.

  6. Выберите группу ресурсов, которую вы использовали для этой демонстрации.

  7. Вы увидите ход создания рабочей области в правом нижнем углу окна Visual Studio Code: создание рабочей области: turobofandemo. Этот шаг может занять минуту или два.

  8. Дождитесь успешного создания рабочей области. Он должен сказать, что рабочая область Машинного обучения Azure turbofandemo создана.

Отправка файлов Jupyter Notebook

Мы отправим примеры файлов записных книжек в новую рабочую область Машинного обучения.

  1. Перейдите к ml.azure.com и войдите.

  2. Выберите каталог Майкрософт, подписку Azure и только что созданную рабочую область Машинного обучения.

    Снимок экрана: выбор рабочей области Машинного обучения Azure.

  3. После входа в рабочую область Машинного обучения перейдите в раздел "Записные книжки " с помощью меню слева.

  4. Перейдите на вкладку "Мои файлы ".

  5. Выберите "Отправить " (значок стрелки вверх).

  6. Перейдите к C:\source\IoTEdgeAndMlSample\AzureNotebooks. Выберите все файлы в списке и нажмите кнопку "Открыть".

  7. Установите флажок "Доверять содержимому этих файлов ".

  8. Нажмите кнопку "Отправить ", чтобы начать отправку. Затем нажмите кнопку "Готово" после завершения процесса.

Файлы блокнота Jupyter

Давайте рассмотрим файлы, отправленные в рабочую область машинного обучения. Действия в этой части руководства охватывают два файла записной книжки, которые используют несколько вспомогательных файлов.

  • 01-turbofan_regression.ipynb. Эта записная книжка использует рабочую область Машинного обучения для создания и запуска эксперимента машинного обучения. В целом записная книжка выполняет следующие действия.

    1. Загружает данные из учетной записи хранения Azure, которые были сгенерированы устройством-харнессом.
    2. Изучает и подготавливает данные, а затем использует данные для обучения модели классификатора.
    3. Вычисляет модель из эксперимента с помощью тестового набора данных (Test_FD003.txt).
    4. Публикует лучшую модель классификатора в рабочей области машинного обучения.
  • 02-turbofan_deploy_model.ipynb: эта записная книжка принимает модель, созданную в предыдущей записной книжке, и использует ее для создания образа контейнера, готового к развертыванию на устройстве IoT Edge. Записная книжка выполняет следующие действия:

    1. Создает скрипт оценки для модели.
    2. Создает образ контейнера с помощью модели классификатора, сохраненной в рабочей области машинного обучения.
    3. Развертывает образ как веб-службу в контейнерах Azure Container Instances.
    4. Использует веб-службу для проверки правильной работы модели и изображения. Проверенный образ будет развернут на устройстве IoT Edge в разделе "Создание и развертывание пользовательских модулей IoT Edge" этого руководства.
  • Test_FD003.txt: этот файл содержит данные, которые мы будем использовать в качестве тестового набора при проверке обученного классификатора. Мы решили использовать тестовые данные, предоставленные для исходного конкурса, как наш тестовый набор из-за их простоты.

  • RUL_FD003.txt: этот файл содержит оставшуюся полезную жизнь (RUL) для последнего цикла каждого устройства в файле Test_FD003.txt. Для подробного объяснения данных см. файлы readme.txt и Modeling.pdf Damage Propagation в C:\source\IoTEdgeAndMlSample\data\Turbofan.

  • Utils.py. Этот файл содержит набор служебных функций Python для работы с данными. Первая записная книжка содержит подробное описание функций.

  • README.md: Этот README файл описывает использование ноутбуков.

Запустите блокноты Jupyter

Теперь, когда рабочая область создана, можно запустить записные книжки.

  1. На странице "Мои файлы" выберите 01-turbofan_regression.ipynb.

    Снимок экрана, показывающий выделение первой записной книжки для выполнения.

  2. Если записная книжка указана как ненадежная, выберите мини-приложение Not Trusted в правом верхнем углу записной книжки. Когда появится диалоговое окно, выберите "Доверие".

  3. Для получения наилучших результатов ознакомьтесь с документацией по каждой ячейке и запустите ее по отдельности. Выберите "Запустить " на панели инструментов. Позже вы обнаружите, что полезно запускать несколько ячеек. Вы можете игнорировать предупреждения об обновлении и устаревании.

    Когда ячейка запущена, между квадратными скобками ([*]) отображается звездочка. Когда выполнение операции в ячейке завершается, звездочка заменяется числом, и могут появиться соответствующие выходные данные. Ячейки в записной книжке выполняются последовательно, и только одна ячейка может работать одновременно.

    Вы также можете использовать параметры запуска из меню "Ячейка ". Нажмите клавиши CTRL+ВВОД , чтобы запустить ячейку, и нажмите клавиши SHIFT+ВВОД , чтобы запустить ячейку и перейти к следующей ячейке.

    Подсказка

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

  4. В ячейке, следующей за инструкциями по установке глобальных свойств, введите значения для вашей подписки Azure, параметров и ресурсов. Затем запустите ячейку.

    Снимок экрана: настройка глобальных свойств в записной книжке.

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

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

    Откройте ссылку и введите указанный код. Эта процедура входа проверяет подлинность записной книжки Jupyter для доступа к ресурсам Azure с помощью интерфейса командной строки Microsoft Azure Cross-Platform.

    Снимок экрана, показывающий проверку подлинности приложения через подтверждение на устройстве.

  6. В ячейке, которая предшествует Просмотру результатов, скопируйте значение из идентификатора запуска и вставьте его для идентификатора запуска в ячейку, которая следует за восстановлением запуска.

    Снимок экрана. Копирование идентификатора выполнения задачи между ячейками.

  7. Запустите оставшиеся ячейки в ноутбуке.

  8. Сохраните записную книжку и вернитесь на страницу проекта.

  9. Откройте 02-turbofan_deploy_model.ipynb и запустите каждую ячейку. Для проверки подлинности в ячейке, следующей за Настроить рабочую область, необходимо выполнить вход.

  10. Сохраните записную книжку и вернитесь на страницу проекта.

Проверка успешного выполнения

Чтобы убедиться, что блокноты успешно завершены, проверьте, что несколько элементов были созданы.

  1. На вкладке " Мои файлы" на вкладке "Записные книжки машинного обучения" выберите "Обновить".

  2. Убедитесь, что были созданы следующие файлы.

    Файл Описание
    ./aml_config/.azureml/config.json Файл конфигурации, используемый для создания рабочей области Машинного обучения.
    ./aml_config/model_config.json Файл конфигурации, который потребуется для развертывания модели в среде машинного обучения turbofanDemo в платформе Azure.
    myenv.yml Предоставляет сведения о зависимостях для развернутой модели машинного обучения.
  3. Убедитесь, что были созданы следующие ресурсы Azure. Некоторые имена ресурсов дополняются случайными символами.

    Ресурс Azure Имя
    Рабочая область Машинного обучения Azure turborfanDemo
    Реестр контейнеров Azure turbofandemoxxxxxxxx
    Application Insights turbofaninsightxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxx
    Служба хранилища Azure turbofanstoragexxxxxxxxx

Отладка

Инструкции Python можно вставить в записную книжку для отладки, например print() команду для отображения значений. Если вы видите переменные или объекты, которые не определены, запустите ячейки, в которых они впервые объявлены или создаются.

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

Очистка ресурсов

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

Дальнейшие действия

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

  • Обучение классификатора RUL.
  • Сохраните классификатор в виде модели.
  • Создайте образ контейнера.
  • Разверните и протестируйте образ в качестве веб-службы.

Перейдите к следующей статье, чтобы создать устройство IoT Edge.