Настройка лаборатории для обучения обработке и анализу данных с использованием Python и Jupyter Notebook

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

Jupyter Notebooks — это проект с открытым исходным кодом, который позволяет легко объединять форматированный текст и исполняемый исходный код Python на одном холсте, известном как записная книжка. Запустите записную книжку, чтобы создать линейную запись входных и выходных данных. Эти выходные данные могут включать текст, таблицы данных, точечные диаграммы и многое другое.

Примечание.

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

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

  • Чтобы настроить эту лабораторию, вам потребуется доступ к подписке Azure. Обсудите с администратором организации, чтобы узнать, можно ли получить доступ к существующей подписке Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Настройка параметров плана лаборатории

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

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

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

  • Выберите один из следующих образов Azure Marketplace в зависимости от требований к операционной системе:

    • Виртуальная машина для обработки и анализа данных — Windows Server 2019/Windows Server 2022
    • Виртуальная машина для обработки и анализа данных — Ubuntu 20.04
  • Кроме того, создайте пользовательский образ виртуальной машины:

    Образы виртуальных машин Обработка и анализ данных в Azure Marketplace уже настроены с помощью Jupyter Notebook. Эти изображения также включают другие средства разработки и моделирования для обработки и анализа данных. Если вам не нужны эти дополнительные средства и требуется упрощенная настройка только с записными книжками Jupyter, создайте пользовательский образ виртуальной машины. Пример см. в статье об установке JupyterHub в Azure.

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

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

Шаблон конфигурации компьютера

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

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

  • Записные книжки Jupyter: веб-приложение, позволяющее специалистам по обработке и анализу данных принимать необработанные данные, выполнять вычисления и просматривать результаты в той же среде. Он выполняется локально на виртуальной машине шаблона.
  • Visual Studio Code: интегрированная среда разработки (IDE), обеспечивающая многофункциональную интерактивную среду при написании и тестировании записной книжки. Дополнительные сведения см. в статье Работа с записными книжками Jupyter Notebook в Visual Studio Code.

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

Включение средств для использования GPU

Если вы используете альтернативный размер GPU (вычислений), рекомендуется убедиться, что Обработка и анализ данных платформы и библиотеки настроены правильно для использования GPU. Может потребоваться установить другую версию драйверов NVIDIA и набора средств CUDA. Чтобы настроить графические процессоры, обратитесь к документации платформы или библиотеки.

Например, чтобы проверить, использует ли TensorFlow GPU, подключитесь к виртуальной машине шаблона и запустите следующий код Python-TensorFlow в Jupyter Notebook:

import tensorflow as tf
from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

Если выходные данные из этого кода выглядят следующим образом, TensorFlow не использует GPU:

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
]

Продолжая работу с этим примером, ознакомьтесь с рекомендациями по поддержке GPU TensorFlow. Руководство TensorFlow охватывает следующие действия:

После выполнения действий TensorFlow по настройке GPU при повторном запуске тестового кода вы увидите результаты, аналогичные приведенным ниже выходным данным.

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15833696144144374634
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 11154792128
locality {
  bus_id: 1
  links {
  }
}
incarnation: 2659412736190423786
physical_device_desc: "device: 0, name: NVIDIA Tesla K80, pci bus id: 0001:00:00.0, compute capability: 3.7"
]

Предоставление записных книжек для класса

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

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

Опубликуйте машину-шаблон

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

Подключение записных книжек Jupyter

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

Использование Записных книжек Jupyter на виртуальной машине лаборатории

Пользователи лаборатории могут подключаться с локального компьютера к виртуальной машине лаборатории, а затем использовать Jupyter Notebook в виртуальной машине лаборатории.

При использовании виртуальной машины лаборатории под управлением Windows пользователи лаборатории могут подключаться к виртуальным машинам лаборатории через удаленный рабочий стол (RDP). Дополнительные сведения см. в статье о подключении к виртуальной машине лаборатории Windows.

При использовании виртуальной машины лаборатории под управлением Linux пользователи лаборатории могут подключаться к виртуальным машинам лаборатории через SSH или с помощью X2Go. Дополнительные сведения см. в статье о подключении к виртуальной машине лаборатории Linux.

SSH-туннель к серверу Jupyter на виртуальной машине

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

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

  1. Войдите на веб-сайт Службы лабораторий Azure.

  2. Убедитесь, что виртуальная машина лаборатории под управлением Linux запущена.

  3. Щелкните значок >Подключение Подключение через SSH, чтобы получить команду подключения SSH.

    Команда подключения SSH выглядит следующим образом:

    ssh -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus2.cloudapp.azure.com
    

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

  4. На локальном компьютере запустите терминал или командную строку и скопируйте в нее строку подключения SSH. Затем добавьте -L 8888:localhost:8888 в командную строку, которая создает туннель между портами.

    Последняя команда должна выглядеть следующим образом.

    ssh –L 8888:localhost:8888 -p 12345 student@ml-lab-00000000-0000-0000-0000-000000000000.eastus.cloudapp.azure.com
    
  5. Нажмите клавишу ВВОД , чтобы выполнить команду.

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

  7. При подключении к виртуальной машине запустите сервер Jupyter с помощью следующей команды:

    jupyter notebook
    

    Команда выводит URL-адрес сервера Jupyter в терминале. URL-адрес должен выглядеть следующим образом:

    http://localhost:8888/?token=8c09ecfc93e6a8cbedf9c66dffdae19670a64acc1d37
    
  8. Чтобы подключиться к Jupyter Notebook и работать с ним, вставьте этот URL-адрес в браузер на локальном компьютере.

    Примечание.

    Visual Studio Code также обеспечивает удобную процедуру редактирования проектов Jupyter Notebook. Вы можете выполнить инструкции по подключению к удаленному серверу Jupyter и использовать тот же URL-адрес из предыдущего шага, чтобы подключиться из VS Code, а не из браузера.

Оценка затрат

В этом разделе приведена оценка затрат на выполнение этого класса для 25 пользователей лаборатории. По плану для занятий предусмотрено 20 часов. Кроме того, каждый пользователь получает квоту на 10 часов для домашней работы или заданий вне запланированного времени класса. Выбранный размер виртуальной машины был альтернативным небольшим GPU (вычислением), который составляет 139 единиц лаборатории. Если вы хотите использовать небольшие (20 единиц лаборатории) или средний размер (42 единицы лаборатории), вы можете заменить часть единицы лаборатории в уравнении на правильное число.

Ниже приведен пример возможной оценки затрат для этого класса: 25 lab users * (20 scheduled hours + 10 quota hours) * 139 lab units * 0.01 USD per hour = 1042.5 USD

Внимание

Эта оценка затрат используется только для примера. Подробнее о текущих ценах см. в разделе Цены на Службы лабораторий Azure.

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

Теперь образ шаблона можно опубликовать в лаборатории. Дополнительные сведения см. в статье "Публикация виртуальной машины шаблона".

Ознакомьтесь со следующими статьями, связанными с настройкой лаборатории: