Окружения и Jupyter Server

Вопросы в этом разделе

Не получается развернуть бесплатный Jupyter Server

На платформе ML Space есть ограничение в три бесплатных Jupyter Server для одного региона размещения ресурсов. При создании четвертого возникнет ошибка.

Подробнее см. Регионы размещения ресурсов.

Не могу создать Jupyter Server с GPU. В чем может быть причина?

Такая ситуация может возникать в следующих случаях:

  • Закончился баланс.

  • Не выставлен лимит на Департамент.

При нулевом балансе не получится:

  • создать Jupyter Server с выделенными GPU,

  • запустить обучение путем отправки задач в регион,

  • собрать образ с моделями для их последующего развертывания на сервисе Deployments.

Актуальный баланс можно посмотреть в профиле пользователя. См. Обзорная страница.

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

Как приостановить Jupyter Server?

Для приостановки Jupyter Server:

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

  2. Нажмите на иконку паузы в соответствующей строке списка.

  3. Jupyter Server изменит статус «На паузе».

Доступны ли логи Jupyter Server после приостановки?

После приостановки посмотреть логи нельзя. Для просмотра логов возобновите работу Jupyter Server.

Будет ли тарифицироваться Jupyter Server в статусе «На паузе»?

Если Jupyter Server приостановлен, он не тарифицируется.

Будет ли тарифицироваться Jupyter Server в статусе «Ошибка» или «Предупреждение»?

В случае некорректного запуска Jupyter Server может принимать статус «Ошибка» или «Предупреждение», при этом используемые ресурсы тарифицируются. Рекомендуем удалить Jupyter Server в таком статусе и создать его заново.

Как запустить ячейку Jupyter Server во время сборки образа и завершить ее после сборки?

Если возникает потребность выполнения ячейки после сборки образа, добавьте код:

def wait_image_build_job(job):
    response = job.submit()
    if "created" not in response:
        return response
    job.logs()
    return "Done"


job = ImageBuildJob(...........)
wait_for_image_build_job(job)

В логах ошибка “Permission denied, please try again” при запуске задачи, как устранить?

Вероятно, при запуске задачи взят образ для Jupyter Server (имеет префикс “jupyter-” в названии).

Пример:

  • cr.ai.cloud.ru/aicloud-jupyter/jupyter-cuda10.0-tf1.15.0-pt1.3.0-gpu:0.0.80 — с этим образом возникнет возникать ошибка,

  • cr.ai.cloud.ru/aicloud-base-images/horovod-cuda10.0-tf1.15.0-pt1.3.0:0.0.27 — этот образ будет корректно работать в регионе V100.

Не видно образ из Docker registry при создании Jupyter Server, что делать?

Если не видно образ, загруженный в Docker registry при создании Jupyter Server, могут помочь следующие рекомендации:

  • Проверьте название образа. Для использования образа в сервисе Environments у него должен быть префикс «jupyter-».

Префикс в названии такого образа обязательно должен начинаться с маленькой буквы:

  • «jupyter-» — для Jupyter Servers;

  • «job-» — для задач обучения;

  • «deploy-» — для деплоев.

В сервисе Environments образ с названием test-custom-image:1.0 не будет отображаться в списке доступных для создания Jupyter Server. Образ с названием jupyter-custom-image:1.0 будет отображаться.

Почему у меня не разворачивается Jupyter Server c GPU?

Проблема может возникать, если под Jupyter Server нет свободных ресурсов на одном DGX (выделение ресурсов на нескольких DGX невозможно). Рекомендуется создавать Jupyter Server с количеством выделенных GPU 8 или меньше. Обучение, которое требует большее количество ресурсов, лучше запускать как задачу в регионе методом client_lib.Job().

Что сделать, чтобы столбец ipynb_checkpoints не появлялся в метриках?

Использовать файлы MLflow средствами MLflow и файлы Jupyter Lab/Notebook средствами Jupyter Lab/Notebook. Так можно избежать непредвиденных артефактов в виде .ipynb_checkpoints-столбца в разделе Metrics.

Папка mlflow — машиночитаемая (предусмотрено читать через API MLflow), при необходимости открывать файлы можно по SSH через Cyberduck/терминал.

ipynb_checkpoints-папки появляются не везде, а только в том каталоге, где находится запущенный Jupyter Notebook. Поэтому наиболее простым решением проблемы с MLflow было бы отделить одно от другого и явно определять каталог, в котором будет находиться информация, относящаяся к MLflow-эксперименту.

Делается это следующим образом: mlflow.set_tracking_uri('file:/home/jovyan/mlruns'). Подробнее об этой команде — в документации MLflow.

Проверить текущий каталог можно командой mlflow.get_tracking_uri(). Подробнее можно прочитать в документации MLflow.

Что делать, если возникает ошибка No space left on device при работе с Jupyter Server?

  • Если дискового пространства NFS достаточно:

    1. Найдите требуемый файл Jupyter Notebook. .<название файла>.ipynb

    2. Переименуйте .<название файла>.ipynb в .<название файла>.ipynb.bak.

    3. Сохраните файл .<название файла>.ipynb повторно.

  • При нехватке дискового пространства NFS расширьте его самостоятельно (см. Узнать или изменить квоты NFS на объем хранилища и количество файлов).

Что делать, если при удалении файлов на NFS не освобождается место?

  1. Перейдите в Environments → Jupyter Servers.

  2. Подключитесь к требуемому Jupyter Server, нажав Jupyter.

  3. В открывшемся окне нажмите Empty trash → Удалить.

Как очистить место в директории /home/jovyan и удалить файлы, попавшие в корзину?

  1. Перейдите в Environments → Jupyter Servers.

  2. Откройте ваш Jupyter Server и перейдите в нужную директорию внутри /home/jovyan.

  3. Чтобы увидеть, сколько места занимает содержимое директории, в терминале Jupyter Server выполните команду

    Команда для проверки свободного места
    df -h
    
  4. Если какие-то файлы попали в корзину, очистите ее одним из способов:

    Команда для очистки корзины
    rm -rv ~/.local/share/Trash
    
  5. Чтобы удалить все файлы и папки в этой директории, воспользуйтесь следующей командой.

    Внимание

    Команда rm -r /home/jovyan/* удалит все содержимое /home/jovyan, не включая саму директорию. Тщательно проверьте, какие объекты планируете удалять, прежде чем выполнить эту команду.

    Команда для безвозвратного удаления файлов и папок в указанной директории
    rm -r /home/jovyan/*
    
  6. После выполнения команды удаления проверьте объем файлов в директории /home/jovyan с помощью команды

    Команда для проверки свободного места
    df -h
    

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

Что делать, если возникает ошибка при запуске MLflow?

  1. Переименовать каталог mlruns из Jupyter Server, в котором не запущен MLflow.

  2. Запустить Jupyter Server и проверить, что MLflow работает.

Если эти действия не помогли, обратитесь в техническую поддержку.

Что делать, если при выполнении команды «torch.cuda.is_available()» возвращается «False»?

Данное поведение связанно с инцидентом у вендора. Точные сроки решения зависят от вендора. Как только будут внесены изменения, данная проблема будет исправлена.

В качестве временного решения выполните команду killall5 для завершения всех пользовательских процессов. После этого Jupyter Server будет автоматически перезагружен и ошибка не будет возникать.

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

Что делать, если в NFS при сохранении файла возникает ошибка «Unexpected error while saving file: directory%%20name/filename.ipynb [Errno 2] No such file or directory»?

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

Какие TCP-порты можно использовать для выхода в интернет из Jupyter Server или задач обучения?

Для отправки запросов из Jupyter Server в интернет используйте следующие номера TCP-портов: 80, 443, 8000–8999.

Использование Jupyter Server из интернета невозможно без интерфейса ML Space или SSH-соединения с Jupyter Server.

Что делать, если не получается подключиться к GitLab ML Space через SSH?

Подключаться к нужному проекту необходимо через HTTPS, в котором используется токен доступа вместо пароля.

  1. Cклонируйте репозиторий GitLab, выполнив следующую команду:

    git clone https://username:token@gitlab.com/group/project.git
    

    Где:

    • username — значение в вашем профиле после символа @.

  2. Создайте token GitLab:

    1. В интерфейсе GitLab нажмите на свой аватар в правом верхнем углу, выберите Edit profile.

    2. На левой панели выберите Access Tokens.

    3. Введите Token name и Expiration date.

    4. Нажмите Create project access token.. Не забудьте сохранить токен доступа, он появляется только один раз.

Как восстановить удаленный файл из корзины Jupyter Server?

  1. Перейдите в каталог ~/.local/share/Trash/files в терминале Jupyter Server.

  2. Восстановите требуемый файл с помощью команды mv filename destination.

Что делать, если не активируется conda-окружение?

  1. В терминале запущенного Jupyter Server выполните:

    conda init bash
    

    Вместо bash можете использовать zsh.

  2. Закройте терминал, в котором выполняли предыдущую команду.

  3. Запустите новый терминал.

Когда становятся доступными логи Jupyter Server?

Логи становятся доступными после перехода Jupyter Server в статус «Подключен».

Сколько файлов и каталогов отображает интерфейс в Jupyter Server?

Интерфейс Jupyter Server отображает не более 1 000 файлов и 100 каталогов. Для работы с каталогами, содержащими большее число файлов и каталогов, используйте терминал Jupyter Server или расположите файлы таким образом, чтобы в одном каталоге находилось не более 1 000 файлов и 100 каталогов.

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