Job
Данный класс характеризует задачу обучения скрипта на кластере.
Параметры конструктора класса
Важно
Параметр warm_cache
— отключен (deprecated).
Он может быть корректно обработан только в значении warm_cache=False
При значении warm_cache=True
возникнет ошибка с кодом 400.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
Тип: string |
Путь до запускаемого скрипта.
Обратите внимание, что точка монтирования — это корневой каталог, поэтому его не должно быть в начале пути.
Если ваш скрипт лежит по пути |
— |
Тип: string |
Базовый образ, в котором будет исполняться скрипт обучения модели |
— |
Тип: integer |
Количество рабочих узлов кластера, на котором будет исполняться скрипт. |
1 |
Тип: integer |
Количество GPU на одном рабочем узле кластера. |
1 Укажите |
Тип: integer |
Количество CPU на одном рабочем узле кластера. |
1 |
Тип: boolean |
Прогрев кэша — это предварительная запись файлов, необходимых для обучения, на целевых машинах. |
False (прогрев не нужен). Обратите внимание на то, что данные все равно будут переданы в первой эпохе обучения. |
Тип: string |
Тип распределенных вычислений. На данный момент возможны: |
horovod |
Тип: dict |
Флаги, с которыми необходимо запустить скрипт (если таковые имеются в скрипте обучения модели). Например: "flags": {
"batch_size": 512,
"model": "mymodel50",
"xla": False
}";
Скрипт будет запущен с параметрами |
— |
Тип: integer |
Параметр задает время в минутах до принудительного удаления задачи, которая перешла в статус «Выполняется» (подробнее о статусах задач см. в разделе Задачи и окружения). |
0 (задача не будет принудительно удалена) |
Тип: dict |
Параметр задает переменные окружения |
— |
Тип: integer |
Параметр задает количество процессов на один рабочий узел кластера, если не подходит количество процессов равное количеству GPU. Можно запустить задачу на 16 GPU в рамках 1 рабочего узла кластера, указать Пример client_lib.Job(base_image='cr.msk.sbercloud.ru/aicloud-base-images/horovod-cuda10.0-tf1.15.0-pt1.3.0',
script='tensorflow_mnist_estimator.py', n_workers=1,
n_gpus=16, warm_cache=False, process_per_worker=1)
|
— |
Тип: string |
Параметр позволяет указывать имя окружения conda, если в образе имеется таковое и используется не стандартное окружение python, а окружение anaconda. |
None |
Тип: string |
Параметр позволяет задавать пользовательские описания для задач, запускаемых на кластере. Пример client_lib.Job(base_image='your base image',
script='your script',
job_desc="your_job_description"
n_workers=1,
n_gpus=1,
warm_cache=False,
process_per_worker=1)
|
None |
Тип: string |
Параметр в значении |
None |
Тип: string |
Параметр позволяет выбирать регион размещения вычислительных ресурсов.
Доступны значения |
None |
Тип: string |
Позволяет проверить исправность GPU перед запуском задачи обучения.
Доступны значения |
None |
Методы
Client_lib.Job.submit()
Метод submit()
отправляет сформированную задачу на вычисление на кластер, после чего задача ставится в очередь на выполнение.
Client_lib.Job.kill()
Метод kill()
удаляет задачу (вне зависимости от того, находится ли она в очереди, или уже исполняется на кластере).
В результате выполнения метода задача будет удалена.
Client_lib.Job.logs(tail, verbose)
Возвращает логи по задаче, отправленной на кластер.
Параметры:
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
Тип: integer |
Параметр определяет количество выводимых строк из лога, начиная с конца. |
— |
Тип: boolean |
Параметр определяет уровень детализации логов для пользователя. |
True (пользователю предоставляется полный лог). Если значение False, из лога исключается информация о статусе выполнения некоторых служебных процессов, например, пул образа или старт рабочих узлов кластера. |
Client_lib.logs(job_name, tail, verbose)
Данный метод возвращает логи по имени задачи.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
Тип: string |
Имя задачи. |
— |
Тип: integer |
Параметр определяет количество выводимых строк из лога, начиная с конца. |
— |
Тип: boolean |
Параметр определяет уровень детализации логов для пользователя. |
True (пользователю предоставляется полный лог). Если значение False, из лога исключается информация о статусе выполнения некоторых служебных процессов, например, пул образа или старт рабочих узлов кластера. |