Действия с библиотеками в образах Jupyter Server

В каждом образе Jupyter Server и базовом образе для задач обучения есть предустановленный набор библиотек (см. Список образов для Jupyter Server, Библиотеки в базовых образах для деплоев).

В инструкции описано, как узнать, какие библиотеки установлены, как установить и обновить библиотеки.

Получение списка библиотек, установленных в образе Jupyter Server

Чтобы увидеть список библиотек, установленных в образе Jupyter Server:

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.

  2. В ячейке 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. Для этого:

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.

  2. Запустите терминал Jupyter Server.

  3. Выполните команду ниже. Библиотека установится в соответствующий каталог.

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.

См.также

CLI-утилита ML Space

Обновление версий библиотек в 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). Пользователи могут получить перечень актуальных версий библиотек. Для этого необходимо выполнить последовательность действий, описанную ниже.

  1. Создайте или подключитесь к уже существующему Jupyter Notebook.

  2. Выберите подключение к Jupyter Notebook или JupyterLab. Рабочий каталог, из которого будут запускаться файлы, — /home/jovyan/.

  3. Создайте в рабочем каталоге файл test.py следующего содержания:

    import subprocess
    
    if __name__ == '__main__':
    cmd = 'pip freeze'
    subprocess.run(cmd, shell=True)
    
  4. В ячейках 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)
    
  5. Список актуальных версий библиотек отобразится в логах задачи.

Запустили Evolution free tier
для Dev & Test
Получить