Настройка среды разработки Python для Машинного обучения Azure
ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
Сведения о настройке среды разработки Python для Машинного обучения Azure.
В таблице ниже перечислены все среды разработки, описываемые в этой статье, а также указаны их достоинства и недостатки.
Среда | Плюсы | Минусы |
---|---|---|
Локальная среда | Полный контроль над средой разработки и зависимостями. Запуск с использованием любого инструмента сборки, среды или интегрированной среды разработки. | Чтобы начать работу, требуется больше времени. Должны быть установлены необходимые пакеты SDK, а также среда, если у вас ее нет. |
Виртуальная машина для обработки и анализа данных (DSVM). | Аналогично облачному вычислительному экземпляру (Python предварительно установлен), но с дополнительными популярными средствами обработки и анализа данных и машинного обучения. Простота масштабирования и объединения с другими пользовательскими инструментами и рабочими процессами. | Начало работы занимает больше времени по сравнению с облачным вычислительным экземпляром. |
Вычислительная операция Машинного обучения Azure | Самый простой способ начать работу. Пакет SDK уже установлен на виртуальной машине рабочей области, а руководства по записной книжке предварительно клонированы и готовы к выполнению. | Отсутствие контроля над средой разработки и зависимостями. Дополнительные затраты на виртуальную машину Linux (виртуальную машину можно остановить, когда она не используется, чтобы избежать расходов). Просмотрите сведения о ценах. |
Эта статья также содержит дополнительные советы по использованию перечисленных ниже инструментов и средств.
Jupyter Notebook: если вы уже используете приложения Jupyter Notebook, вам нужно установить некоторые вспомогательные элементы, которые содержит пакет SDK.
Visual Studio Code. Если вы используете Visual Studio Code, расширение Машинное обучение Azure включает поддержку языка для Python и функции, которые позволяют работать с Машинное обучение Azure гораздо удобнее и эффективнее.
Необходимые компоненты
- Рабочая область Машинного обучения Azure. Если у вас ее нет, можно создать рабочую область Машинного обучения Azure с помощью портала Azure, Azure CLI или шаблонов Azure Resource Manager.
Только локальный и DSVM: создание файла конфигурации рабочей области
Файл конфигурации рабочей области — это JSON-файл, который используется пакетом SDK для обмена данными с рабочей областью Машинного обучения Azure. В этого файла config.json следующий формат:
{
"subscription_id": "<subscription-id>",
"resource_group": "<resource-group>",
"workspace_name": "<workspace-name>"
}
Этот JSON-файл должен находиться в структуре каталогов, которые содержат сценарии Python или приложения Jupyter Notebook. Он может находиться в том же каталоге, подкаталоге с именем.azureml*или в родительском каталоге.
Чтобы использовать этот файл в коде, задействуйте метод MLClient.from_config
. Этот код загружает данные из файла и подключается к рабочей области.
Создать файл конфигурации рабочей области можно одним из перечисленных ниже способов.
Студия машинного обучения Azure
Скачайте файл:
- Войдите в Студию машинного обучения Azure
- На панели инструментов в правом верхнем углу Студии машинного обучения Azure выберите имя рабочей области.
- Выберите ссылку "Скачать файл конфигурации".
Пакет SDK Python для Машинного обучения Azure
Создайте скрипт для подключения к рабочей области Машинное обучение Azure. Замените
subscription_id
,resource_group
иworkspace_name
собственными значениями.ОБЛАСТЬ ПРИМЕНЕНИЯ: Пакет SDK для Python azure-ai-ml версии 2 (current)
#import required libraries from azure.ai.ml import MLClient from azure.identity import DefaultAzureCredential #Enter details of your Azure Machine Learning workspace subscription_id = '<SUBSCRIPTION_ID>' resource_group = '<RESOURCE_GROUP>' workspace = '<AZUREML_WORKSPACE_NAME>' #connect to the workspace ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, workspace)
Локальный компьютер или удаленная среда виртуальной машины
Вы можете настроить среду на локальном компьютере или на удаленной виртуальной машине, например на вычислительном экземпляре Машинного обучения Azure или Виртуальной машине для обработки и анализа данных.
Чтобы настроить локальную среду разработки или удаленную виртуальную машину, выполните указанные ниже действия.
Создайте виртуальную среду Python (virtualenv, conda).
Примечание.
Хотя это и не является обязательным требованием, для управления виртуальными средами Python и установки пакетов рекомендуется использовать Anaconda или Miniconda.
Внимание
Если в Linux или macOS вы используете оболочку, отличающуюся от bash (например, zsh), при выполнении некоторых команд могут возникнуть ошибки. Чтобы решить эту проблему, используйте команду
bash
, чтобы запустить bash и выполните там нужные команды.Активируйте созданную виртуальную среду Python.
Установите пакет SDK Python для Машинного обучения Azure.
Чтобы настроить локальную среду для использования рабочей области Машинного обучения Azure, создайте новый файл конфигурации рабочей области или используйте существующий.
Теперь, когда локальная среда настроена, можно приступать к работе с Машинным обучением Azure. Ознакомьтесь с учебником: Машинное обучение Azure в день, чтобы приступить к работе.
Jupyter Notebook
При запуске локального сервера Jupyter Notebook рекомендуется создать ядро IPython для виртуальной среды Python. Это помогает добиться требуемых эффектов при импорте ядра и пакета.
Включение ядер IPython для конкретной среды
conda install notebook ipykernel
Создайте ядро для своей виртуальной среды Python. Не забудьте заменить
<myenv>
именем своей виртуальной среды Python.ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
Запуск сервера Jupyter Notebook
Совет
Примеры записных книжек см. в репозитории AzureML-Examples . Примеры пакета SDK находятся в разделе /sdk/python. Например, пример записной книжки конфигурации.
Visual Studio Code
Чтобы использовать для разработки Visual Studio Code, выполните указанные ниже действия.
- Установка Visual Studio Code.
- Установите расширение Машинного обучения Azure для Visual Studio Code (предварительная версия).
После установки расширения Visual Studio Code используйте его для выполнения следующих задач:
- Управление ресурсами Машинного обучения Azure
- Подключение к вычислительному экземпляру Машинного обучения Azure
- Отладка сетевых конечных точек локально
- Развертывание обученных моделей
Вычислительная операция Машинного обучения Azure
Вычислительный экземпляр Машинного обучения Azure — это защищенная облачная рабочая станция Azure, которая предоставляет специалистам по обработке и анализу данных сервер Jupyter Notebook, JupyterLab и полностью управляемую среду машинного обучения.
Нет ничего, чтобы установить или настроить для вычислительного экземпляра.
Вы можете в любой момент создать его в рабочей области Машинного обучения Azure. Просто укажите имя и тип виртуальной машины Azure. Попробуйте создать ресурсы, чтобы приступить к работе.
Дополнительные сведения о вычислительных экземплярах, включая установку пакетов, см. в статье "Создание Машинное обучение Azure вычислительного экземпляра".
Совет
Чтобы предотвратить неиспользуемую плату за неиспользуемый вычислительный экземпляр, включите завершение работы бездействия.
Помимо сервера Jupyter Notebook и JupyterLab, вычислительные экземпляры можно использовать в интегрированных записных книжках в Студии машинного обучения Azure.
Вы также можете использовать расширение Машинного обучения Azure для Visual Studio Code для подключения к удаленному вычислительному экземпляру из VS Code.
Виртуальная машина для обработки и анализа данных
Виртуальная машина для обработки и анализа данных — это настраиваемый образ виртуальной машины, который можно использовать в качестве среды разработки. Он предназначен для обработки и анализа данных, и на нем предварительно настроены следующие инструменты и программные продукты:
- пакеты TensorFlow, PyTorch, Scikit-learn, XGBoost и пакет SDK для Машинного обучения Azure;
- популярные инструменты для обработки и анализа данных, в том числе изолированная среда Spark и Drill;
- инструменты Azure, такие как интерфейс командной строки Azure, AzCopy и Обозреватель службы хранилища;
- интегрированные среды разработки, например Visual Studio Code и PyCharm;
- Сервер Jupyter Notebook.
Более полный список средств см. в руководстве по работе с виртуальными машинами для обработки и анализа данных.
Внимание
Если вы планируете использовать виртуальную машину для обработки и анализа данных в качестве целевого объекта вычислений для задач обучения или вывода, поддерживается только Ubuntu.
Чтобы использовать DSVM в качестве среды разработки, выполните указанные ниже действия.
Создайте DSVM одним из следующих способов:
Используйте портал Azure, чтобы создать DSVM на базе Ubuntu или Windows.
Создайте виртуальную машину для обработки и анализа данных с помощью шаблонов ARM.
Использование командной строки Azure CLI
Чтобы создать DSVM на платформе Ubuntu, воспользуйтесь следующей командой:
# create a Ubuntu Data Science VM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully # If you need to create a new resource group use: "az group create --name YOUR-RESOURCE-GROUP-NAME --location YOUR-REGION (For example: westus2)" az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:linux-data-science-vm-ubuntu:linuxdsvmubuntu:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --generate-ssh-keys --authentication-type password
Чтобы создать DSVM на платформе Windows, воспользуйтесь следующей командой:
# create a Windows Server 2016 DSVM in your resource group # note you need to be at least a contributor to the resource group in order to execute this command successfully az vm create --resource-group YOUR-RESOURCE-GROUP-NAME --name YOUR-VM-NAME --image microsoft-dsvm:dsvm-windows:server-2016:latest --admin-username YOUR-USERNAME --admin-password YOUR-PASSWORD --authentication-type password
Создайте среду conda для пакета SDK Машинное обучение Azure:
conda create -n py310 python=310
После создания среды активируйте ее и установите пакет SDK
conda activate py310 pip install azure-ai-ml azure-identity
Чтобы настроить DSVM для использования рабочей области Машинного обучения Azure, создайте новый файл конфигурации рабочей области или используйте существующий.
Совет
Как и в случае с локальными средами, для взаимодействия со службой Машинного обучения Azure можно использовать Visual Studio Code и расширение Машинного обучения Azure для Visual Studio Code.
Дополнительные сведения о Виртуальных машинах для обработки и анализа данных см. здесь.
Следующие шаги
- Обучите и разверните модель в Машинном обучении Azure с помощью набора данных MNIST.
- Ознакомьтесь со статьей Что собой представляет пакет SDK службы "Машинное обучение Azure"для Python?