Настройка среды разработки Python для Машинного обучения Azure

Сведения о настройке среды разработки Python для Машинного обучения Azure.

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

Среда Плюсы Минусы
Локальная среда Полный контроль над средой разработки и зависимостями. Запуск с использованием любого инструмента сборки, среды или интегрированной среды разработки. Чтобы начать работу, требуется больше времени. Должны быть установлены необходимые пакеты SDK, а также среда, если у вас ее нет.
Виртуальная машина для обработки и анализа данных (DSVM). Аналогично облачному вычислительному экземпляру (Python предварительно установлен), но с дополнительными популярными средствами обработки и анализа данных и машинного обучения. Простота масштабирования и объединения с другими пользовательскими инструментами и рабочими процессами. Начало работы занимает больше времени по сравнению с облачным вычислительным экземпляром.
Вычислительная операция Машинного обучения Azure Самый простой способ начать работу. Пакет SDK уже установлен на виртуальной машине рабочей области, а руководства по записным книжкам предварительно клонированы и готовы к запуску. Отсутствие контроля над средой разработки и зависимостями. Дополнительные затраты на виртуальную машину Linux (виртуальную машину можно остановить, когда она не используется, чтобы избежать расходов). См. сведения о ценах.

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

  • Jupyter Notebook: если вы уже используете приложения Jupyter Notebook, вам нужно установить некоторые вспомогательные элементы, которые содержит пакет SDK.

  • Visual Studio Code. Если вы используете Visual Studio Code, расширение Машинного обучения Azure включает языковую поддержку Python и функции, которые делают работу с Машинным обучением Azure более удобной и продуктивной.

Предварительные требования

Только для локальной среды и 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.

    Загрузите файл.

    1. Войдите в Студию машинного обучения Azure
    2. На панели инструментов в правом верхнем углу Студии машинного обучения Azure выберите имя рабочей области.
    3. Щелкните ссылку Скачать файл конфигурации .

    Снимок экрана: скачивание файла конфигурации.

  • Пакет SDK Python для Машинного обучения Azure

    Создайте скрипт для подключения к рабочей области Машинного обучения Azure. Замените subscription_id, resource_group и workspace_name собственными значениями.

    ОБЛАСТЬ ПРИМЕНЕНИЯ: пакет SDK для Python azure-ai-ml версии 2 (текущая версия)

    #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 или Виртуальной машине для обработки и анализа данных.

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

  1. Создайте виртуальную среду Python (virtualenv, conda).

    Примечание

    Хотя это и не является обязательным требованием, для управления виртуальными средами Python и установки пакетов рекомендуется использовать Anaconda или Miniconda.

    Важно!

    Если в Linux или macOS вы используете оболочку, отличающуюся от bash (например, zsh), при выполнении некоторых команд могут возникнуть ошибки. Чтобы решить эту проблему, используйте команду bash, чтобы запустить bash и выполните там нужные команды.

  2. Активируйте созданную виртуальную среду Python.

  3. Установите пакет SDK Python для Машинного обучения Azure.

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

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

Jupyter Notebook

При запуске локального сервера Jupyter Notebook рекомендуется создать ядро IPython для виртуальной среды Python. Это помогает добиться требуемых эффектов при импорте ядра и пакета.

  1. Включение ядер IPython для конкретной среды

    conda install notebook ipykernel
    
  2. Создайте ядро для своей виртуальной среды Python. Не забудьте заменить <myenv> именем своей виртуальной среды Python.

    ipython kernel install --user --name <myenv> --display-name "Python (myenv)"
    
  3. Запуск сервера Jupyter Notebook

Совет

Примеры записных книжек см. в репозитории AzureML-Examples . Примеры пакетов SDK находятся в папке /sdk/python. Например, пример записной книжки конфигурации .

Visual Studio Code

Чтобы использовать для разработки Visual Studio Code, выполните указанные ниже действия.

  1. Установите Visual Studio Code.
  2. Установите расширение Машинного обучения Azure для Visual Studio Code (предварительная версия).

После установки расширения Visual Studio Code используйте его для выполнения следующих задач:

Вычислительная операция Машинного обучения 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 в качестве среды разработки, выполните указанные ниже действия.

  1. Создайте 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
      
  2. Создайте среду Conda для пакета SDK машинного обучения Azure:

    conda create -n py310 python=310
    
  3. После создания среды активируйте ее и установите пакет SDK.

    conda activate py310
    pip install azure-ai-ml azure-identity
    
  4. Чтобы настроить DSVM для использования рабочей области Машинного обучения Azure, создайте новый файл конфигурации рабочей области или используйте существующий.

    Совет

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

    Дополнительные сведения о Виртуальных машинах для обработки и анализа данных см. здесь.

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