Рубрики
Без рубрики

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

В этом посте мы будем изучать различные услуги Azure – ноутбуки Azure, служба машинного обучения … Tagged с помощью Azure, Machine Learning, Python.

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

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

Вот две важные проблемы, с которыми сталкиваются после того, как модели искусственного интеллекта созданы в масштабе:

  • Развертывание в облаке, чтобы их можно было использовать миллионами клиентов по всему миру.
  • Ускорение моделей на различных видах краевых устройств с различными аппаратными архитектурами. Эта проблема решается с использованием формата ONNX (открытая нейронная сеть).

Благодаря служению машинного обучения Azure ( https://azure.microsoft.com/en-in/services/machine-learning/ ), эти проблемы могут быть легко решены.

Содержание этого поста:

  • Создайте классификатор CNN для рукописных цифр с керас -структурой
  • Обзор ноутбуков Azure
  • Преобразовать пользовательскую модель ИИ в стандартный формат ONNX
  • Настройка службы машинного обучения Azure
  • Развернуть модель ONNX в службу машинного обучения Azure
  • Проверьте расходной API развертывания
  • Следующие шаги

Архитектура проекта

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

Создайте классификатор CNN для рукописных цифр

Классификатор основан на модели сверточной нейронной сети (CNN) с использованием керас. Если вы новичок или забыли о CNN, вы можете дать это Разместите прочитание.

Приведенный ниже код создает модель для классификации рукописных цифр от 1-9. С 12 эпохами точность модели составляет около 99,3%.

Обзор ноутбуков Azure

  • Отправляйтесь в https://notebooks.azure.com/
  • Войдите в свою учетную запись Microsoft и создайте новый проект.
  • Добавьте новую записную книжку в созданный вами проект
  • Начать кодирование. Интерфейс похож на ноутбук Jupyter. Нажмите Ctrl+Enter, чтобы запустить кодовую ячейку

Обратите внимание: кодирование для последующих разделов будет выполнено только в ноутбуках Azure. Для вашего удобства я прикрепил GitHub Gists кодовых ячеек для каждого раздела

Преобразование модели в формат ONNX

Формат ONNX? Теперь, что это?

Формат обмена открытой нейронной сетью (ONNX) – это новый стандарт/формат для обмена моделями глубокого обучения. Это сделает модели глубокого обучения портативными, предотвращая блокировку поставщиков. ONNX предназначен для обеспечения совместимости фреймворта.

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

Вот код для преобразования Keras CNN модель в формат ONNX. Он создает файл с именем keras_mnist_model.onnx который содержит обученную модель в формате ONNX.

Вы можете сделать вывод, что модель, определенная выше, с любыми структурами ML!

Настройка службы машинного обучения Azure

Теперь мы продолжим развертывать модель ONNX в Azure, чтобы мы могли получить расходной веб -API для повторного использования, миллионы клиентов:

Создание рабочего пространства машинного обучения, доступного из ноутбука Azure

Мы создадим рабочее пространство, используя Рабочая пространство модуль от azureml.core библиотека. Обязательно замените Подписка-ID с идентификатором подписки вашей учетной записи Azure. Azure создаст новую ресурсную группу с именем, если ее не существует.

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

Теперь мы зарегистрируем модель с помощью нашего рабочего пространства, созданного

Создайте изображение контейнера для развертывания модели

Это включает следующие шаги:

  • Создать файл сценария Python с зачетом score.py Для оценки новых наблюдений, которые API опрошены
  • Создайте ячейку конфигурации среды в ноутбуке

Мы используем CondadePendences модуль из azureml.core.conda_dependencies библиотека.

  • Создать конфигурацию изображения
  • Создайте изображение контейнера

Создание конфигурации изображения завершено, вы видите аналогичное сообщение после выполнения кодовой ячейки:

И последний шаг:

Развернуть контейнер в службу Azure ML

Если развертывание преуспевает, а контейнер является здоровым, время проверить наше развертывание. Теперь наше развертывание готово к употреблению с помощью API.

Давайте проверим наше развертывание

Мы можем использовать единый идентификатор ресурса веб -службы и сделать Запросы Используя библиотеку запросов, почтальон и т. Д.

Вот код для этого. Мы тестируем модель на 14 изображений случайных тестовых данных из набора данных MNIST. Вы можете изменить значение n = 15 Чтобы проверить любое количество изображений.

Вот как будет выглядеть выход:

Давайте теперь проверим модель ONNX напрямую и проверим результаты графически с помощью matplotlib :

Вы увидите изображения и этикетки, с идеальными прогнозами:

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

Ссылки: [1] https://keras.io/examples/mnist_cnn/ [2] https://benalexkeen.com/deploying-neural-network-models-to-azure-ml-service-with-keras-and-onnx/

Следующие шаги

Теперь вы можете создать веб-приложение (предпочтительно с Django или Flask Framework), чтобы классифицировать рукописные цифры в режиме реального времени без необходимости запуска модели машинного обучения в вашей системе. Оставайтесь с нами для последующего поста за то же самое.

Оригинал: “https://dev.to/born2learn/deploy-your-custom-ai-models-on-azure-machine-learning-service-2bd6”