Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
© 2022 ООО «Яндекс.Облако»
Yandex DataSphere
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Управление проектом
      • Создание проекта
      • Выбор версии Python
      • Установка зависимостей
      • Управление вычислительными ресурсами
      • Настроить ограничения вычислений для проекта
      • Настроить ограничения вычислений для каталога
      • Изменение размера хранилища проекта
      • Изменение имени или описания
      • Удаление ноутбука или проекта
    • Поделиться ноутбуком
      • Публикация ноутбука
      • Экспорт проекта
    • Работа с ноутбуком
      • Запуск примеров кода в ноутбуке
      • Версионирование. Работа с контрольными точками
      • Очистка состояния интерпретатора
      • Работа с Git
    • Управление Docker‑образами
      • Docker-образ для проекта
      • Docker-образ в ячейке
    • Подключение к источникам данных
      • Подключение к базе данных ClickHouse
      • Подключение к базе данных PostgreSQL
      • Подключение к хранилищу S3
    • Настройка интеграции с Data Proc
    • Работа с приватными данными
      • Создание секрета
      • Вызов секрета
      • Изменение секрета
      • Копирование секрета
      • Удаление секрета
    • Запуск распределенного обучения
    • Развертывание эксплуатации моделей
      • Создание ноды из ячейки с кодом на Python
      • Настройка окружения ноды
      • Запросы в ноды
  • Концепции
    • Обзор
    • Проект
    • Список предустановленного ПО
    • Доступные команды
    • Служебные команды #pragma
    • Конфигурации вычислительных ресурсов
    • Интеграция с системами контроля версий и данных
    • Сохранение состояния
    • Интеграция с Data Proc
    • Фоновые операции
    • Датасеты
    • Хранение приватных данных
    • Развертывание эксплуатации моделей
    • Использование TensorBoard в DataSphere
    • Распределенное обучение
    • Управление расходами
    • Квоты и лимиты
  • Ранний доступ
    • Обзор
    • Специальные фоновые операции
  • Практические руководства
    • Все руководства
    • Знакомство с DataSphere
    • Голосовая биометрия
    • Оценка качества STT моделей
    • Разметка аудио
    • Классификация изображений на видеокадрах
  • Справочник API
    • Аутентификация в API
    • gRPC (англ.)
      • Overview
      • AppTokenService
      • FolderBudgetService
      • NodeService
      • ProjectDataService
      • ProjectService
      • OperationService
    • REST (англ.)
      • Overview
      • AppToken
        • Overview
        • validate
      • FolderBudget
        • Overview
        • get
        • set
      • Node
        • Overview
        • execute
      • Project
        • Overview
        • create
        • delete
        • execute
        • get
        • getCellOutputs
        • getNotebookMetadata
        • getStateVariables
        • getUnitBalance
        • list
        • open
        • setUnitBalance
        • update
  • Управление доступом
  • Правила тарификации
  • Публичные материалы
  • Релизы
  • Вопросы и ответы
  1. Концепции
  2. Фоновые операции

Фоновые операции

Статья создана
Yandex.Cloud
  • Запуск фоновой операции
  • Прерывание фоновой операции

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

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

Особенности выполнения фоновых операций:

  • Запуск операций в фоновом режиме не гарантирует немедленный запуск исполнения.
  • Фоновые операции в общем случае могут выполняться дольше, чем обычные операции.
  • Фоновые операции могут выполняться на прерываемых виртуальных машинах и ресурсах.
  • Ячейки с запущенными фоновыми операциями имеют доступ к проектному хранилищу только на чтение. После завершения вычислений в случае возникших конфликтов будет задан вопрос, сохранить ли результат вычислений или вернуться к старым значениям переменных.
  • Любые фоновые операции прерываются при попытке выполнения интерактивных функций (например, input() или getpass()).
  • Фоновые операции тарифицируются по другим правилам. Подробнее в разделе Правила тарификации для DataSphere.

Запуск фоновой операции

Для запуска фоновой операции необходимо указать в ячейке комментарий #pragma async.

Чтобы запустить тестовую фоновую операцию:

  1. Задайте тестовую модель, например:

    mnist = tf.keras.datasets.mnist
    
    (x_train, y_train),(x_test, y_test) = mnist.load_data()
    x_train, x_test = x_train / 255.0, x_test / 255.0
    
    def create_model():
      return tf.keras.models.Sequential([
        tf.keras.layers.Flatten(input_shape=(28, 28)),
        tf.keras.layers.Dense(512, activation='relu'),
        tf.keras.layers.Dropout(0.2),
        tf.keras.layers.Dense(10, activation='softmax')
      ])
    
  2. Запустите обучение модели с комментарием #pragma async в начале ячейки:

    #pragma async
    model = create_model()
    model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy',
                  metrics=['accuracy'])
    
    log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
    tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
    
    model.fit(x=x_train,
              y=y_train,
              epochs=5,
              validation_data=(x_test, y_test),
              callbacks=[tensorboard_callback])
    

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

Прерывание фоновой операции

Чтобы прервать выполнение операции:

  1. Выделите ячейку, в которой необходимо прервать операцию.
  2. На верхней панели в окне проекта нажмите кнопку Kernel.
  3. В открывшемся меню нажмите кнопку Interrupt selected cell(s).

Была ли статья полезна?

Language / Region
© 2022 ООО «Яндекс.Облако»
В этой статье:
  • Запуск фоновой операции
  • Прерывание фоновой операции