- tocdepth
2
Действия с библиотеками в образах Jupyter Server
В каждом образе Jupyter Server и базовом образе для задач обучения есть предустановленный набор библиотек (см. Список образов для Jupyter Server, Библиотеки в базовых образах для деплоев).
В инструкции описано, как узнать, какие библиотеки установлены, как установить и обновить библиотеки.
Получение списка библиотек, установленных в образе Jupyter Server
Чтобы увидеть список библиотек, установленных в образе Jupyter Server:
Создайте или подключитесь к уже существующему Jupyter Notebook.
В ячейке Jupyter Notebook выполните следующую команду:
pip list
Результатом выполнения команды станет список установленных библиотек.
Получение списка библиотек, установленных в базовом образе
Чтобы увидеть список библиотек, установленных в базовых образах, выполните последовательность действий, как описано в разделе Актуализация списка библиотек в базовых образах.
Установка дополнительных библиотек в Jupyter Server
Для установки дополнительных библиотек выполните команду в ячейке ноутбука:
!pip install <package_name> <version>
Где package_name
— наименование библиотеки, которую предполагается установить, а version
— версия данной библиотеки.
После установки библиотеки выполните следующую команду для проверки:
!pip list | grep <package_name>
Примечание
В Jupyter Server есть каталоги, в которых хранятся служебные и пользовательские файлы:
/home/user
— каталог, уникальный для каждого Jupyter Server./home/jovyan
— каталог, общий для всех Jupyter Server, созданных в рамках одного воркспейса.
Если устанавливать библиотеки с помощью команды pip install
, то зависимости будут установлены в каталог /home/jovyan/.img-xxxxx
.
При постановке Jupyter Server на паузу этот каталог остается, при остановке (удалении) каталог удаляется.
При удалении Jupyter Server все библиотеки, которые установлены с помощью команды pip install
, удаляются вместе с каталогом /home/user
.
Для использования требуемого набора библиотек можно создать и использовать кастомный Docker-образ. Подробнее см. Способ 1. Обучение из Jupyter Server с GPU.
Пример:
Jupyter Server называется test-img-dir
, в нем командой pip install glances
установили библиотеку.
Установленная библиотека с требуемыми зависимостями будет находиться в каталоге /home/jovyan/.imgenv-test-img-dir-0/lib/python3.7/site-packages
.
Обратите внимание на то, что в образ Jupyter Server jupyter-cuda10.1-tf2.3.0-gpu
можно дополнительно установить библиотеку DeepSpeed.
Для этого:
Создайте или подключитесь к уже существующему Jupyter Notebook.
Выполните команду ниже. Библиотека установится в соответствующий каталог.
cd /tmp && git clone https://github.com/microsoft/DeepSpeed.git && cd DeepSpeed && \
pip install cpufeature && \
DS_BUILD_SPARSE_ATTN=1 DS_BUILD_CPU_ADAM=1 /tmp/DeepSpeed/install.sh
Установка дополнительных библиотек в базовый образ
Пользователи могут установить дополнительные библиотеки в базовые образы. Для сборки таких кастомных образов используются средства функции client_lib. Подробнее см. Способ 1. Обучение из Jupyter Server с GPU.
См.также
Обновление версий библиотек в Jupyter Server
Чтобы обновить версию установленной библиотеки, выполните команду:
pip install <package_name> --upgrade
Ранее установленная версия библиотеки обновится.
Пример переустановки версии torch приведен ниже.
pip install --no-cache-dir torch===1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
Примечание
Не рекомендуется менять версию базовых пакетов — Horovod, TensorFlow, Apex, MXNet, TensorBoard, KServe, PyTorch.
Обновление версий библиотек в базовых образах
Для обновления версий библиотек, установленных в базовом образе, внесите модули и их версии в файл requirements.txt
и соберите кастомный образ с использованием этого файла.
Подробнее см. Способ 1. Обучение из Jupyter Server с GPU.
Актуализация списка библиотек в базовых образах
Список базовых образов и версий предустановленных библиотек в данных образах может периодически обновляться (См. Образы для Jupyter Server). Пользователи могут получить перечень актуальных версий библиотек. Для этого необходимо выполнить последовательность действий, описанную ниже.
Создайте или подключитесь к уже существующему Jupyter Notebook.
Выберите подключение к Jupyter Notebook или JupyterLab. Рабочий каталог, из которого будут запускаться файлы, —
/home/jovyan/
.Создайте в рабочем каталоге файл
test.py
следующего содержания:import subprocess if __name__ == '__main__': cmd = 'pip freeze' subprocess.run(cmd, shell=True)
В ячейках Jupyter Notebook последовательно выполните следующие команды:
import client_lib
job = client_lib.Job(base_image='your base image', script = '/home/jovyan/test.py', n_workers=1, instance_type='your isntance_type', processes_per_worker=1 )
Для получения значения
instance_type
воспользуйтесь инструкцией.job.submit()
import time while True: job.logs() time.sleep(5)
Список актуальных версий библиотек отобразится в логах задачи.
для Dev & Test