Spec-Zone.ru › TensorFlow

tf.compat.v1.train.SessionManager

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

tf.compat.v1.train.SessionManager(
    local_init_op: tf.Operation = None,
    ready_op: tf.Operation = None,
    ready_for_local_init_op: tf.Operation = None,
    graph: tf.Graph = None,
    recovery_wait_secs=30,
    local_init_run_options: 'distribute_lib.RunOptions' = None,
    local_init_feed_dict=None
)

Этот класс представляет собой небольшую оболочку, которая отвечает за создание сеанса и восстановление из контрольной точки. Он также предоставляет функции, упрощающие координацию между несколькими потоками или процессами обучения.

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

Использование:

with tf.Graph().as_default():
   ...add operations to the graph...
  # Create a SessionManager that will checkpoint the model in '/tmp/mydir'.
  sm = SessionManager()
  sess = sm.prepare_session(master, init_op, saver, checkpoint_dir)
  # Use the session to train the graph.
  while True:
    sess.run(<my_train_op>)

prepare_session() инициализирует или восстанавливает модель. В качестве аргументов ему требуются init_op и saver.

Второй процесс может дождаться готовности модели, выполнив следующие действия:

with tf.Graph().as_default():
   ...add operations to the graph...
  # Create a SessionManager that will wait for the model to become ready.
  sm = SessionManager()
  sess = sm.wait_for_session(master)
  # Use the session to train the graph.
  while True:
    sess.run(<my_train_op>)

wait_for_session() ожидает инициализации модели другими процессами.

Аргументы
local_init_op Operation, выполняемый сразу после создания сеанса. Обычно используется для инициализации таблиц и локальных переменных.
ready_op Operation для проверки инициализации модели.
ready_for_local_init_op Operation для проверки готовности модели к выполнению local_init_op.
graph Graph, который будет использоваться моделью.
recovery_wait_secs Интервал в секундах между проверками готовности модели.
local_init_run_options RunOptions, передаваемые в session.run при выполнении local_init_op.
local_init_feed_dict Необязательный словарь подачи данных сеанса, используемый при выполнении local_init_op.
Исключения
ValueError Если ready_for_local_init_op не равен None, а local_init_op равен None.

Методы

prepare_session

Просмотреть исходный код

prepare_session(
    master: str,
    init_op: tf.Operation = None,
    saver: tf.compat.v1.train.Saver = None,
    checkpoint_dir: str = None,
    checkpoint_filename_with_path: str = None,
    wait_for_checkpoint=False,
    max_wait_secs=7200,
    config=None,
    init_feed_dict=None,
    init_fn=None
) -> tf.compat.v1.Session

Создает Session. Обеспечивает готовность модели к использованию.

Создает Session на «master». Если передан объект saver, а checkpoint_dir указывает на каталог с допустимыми файлами контрольных точек, будет предпринята попытка восстановить модель из контрольной точки. Если файлы контрольных точек недоступны, а wait_for_checkpoint равно True, процесс будет проверять возможность восстановления каждые recovery_wait_secs в течение периода до max_wait_secs.

Если восстановить модель не удается, она инициализируется путем выполнения init_op и вызова init_fn, если они заданы. local_init_op также выполняется после init_op и init_fn независимо от того, удалось ли восстановить модель, но только если выполняется условие ready_for_local_init_op.

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

Возникает ошибка, если восстановить модель не удается и не передан ни один из параметров: init_op, init_fn или local_init_op.

Аргументы
master String представления главного узла TensorFlow, который следует использовать.
init_op Необязательный Operation, используемый для инициализации модели.
saver Объект Saver, используемый для восстановления модели.
checkpoint_dir Путь к файлам контрольных точек. Для восстановления будет использована последняя контрольная точка в каталоге.
checkpoint_filename_with_path Полный путь к файлу контрольной точки.
wait_for_checkpoint Следует ли ожидать появления контрольной точки.
max_wait_secs Максимальное время ожидания появления контрольных точек.
config Необязательный протокол ConfigProto, используемый для настройки сеанса.
init_feed_dict Необязательный словарь, сопоставляющий объекты Tensor со значениями подачи данных. Этот словарь передается в вызов run() сеанса при выполнении операции init.
init_fn Необязательный вызываемый объект, используемый для инициализации модели. Вызывается после вызова необязательного init_op. Вызываемый объект должен принимать один аргумент — инициализируемый сеанс.
Возвращает
Объект Session, который можно использовать для управления моделью.
Исключения
RuntimeError Если модель не удается инициализировать или восстановить.
ValueError Если заданы одновременно checkpoint_dir и checkpoint_filename_with_path.

recover_session

Просмотреть исходный код

recover_session(
    master: str,
    saver: tf.compat.v1.train.Saver = None,
    checkpoint_dir: str = None,
    checkpoint_filename_with_path: str = None,
    wait_for_checkpoint=False,
    max_wait_secs=7200,
    config=None
) -> Tuple[tf.compat.v1.Session, bool]

Создает Session, по возможности восстанавливая модель.

Создает новый сеанс на «master». Если сеанс не инициализирован и его можно восстановить из контрольной точки, выполняется восстановление.

Аргументы
master String представления главного узла TensorFlow, который следует использовать.
saver Объект Saver, используемый для восстановления модели.
checkpoint_dir Путь к файлам контрольных точек. Для восстановления будет использована последняя контрольная точка в каталоге.
checkpoint_filename_with_path Полный путь к файлу контрольной точки.
wait_for_checkpoint Следует ли ожидать появления контрольной точки.
max_wait_secs Максимальное время ожидания появления контрольных точек.
config Необязательный протокол ConfigProto, используемый для настройки сеанса.
Возвращает
Пару (sess, initialized), где initialized равно True, если сеанс удалось восстановить и инициализировать, и False в противном случае.
Исключения
ValueError Если заданы одновременно checkpoint_dir и checkpoint_filename_with_path.

wait_for_session

Просмотреть исходный код

wait_for_session(
    master: str, config=None, max_wait_secs=float('Inf')
) -> Optional[tf.compat.v1.Session]

Создает новый Session и ожидает готовности модели.

Создает новый Session на «master». Ожидает инициализации модели или ее восстановления из контрольной точки. Предполагается, что модель будет подготовлена другим потоком или процессом. Этот метод предназначен для потоков или процессов, участвующих в распределенной конфигурации обучения, где за инициализацию или восстановление обучаемой модели отвечает другой поток или процесс.

Примечание: Время ожидания сеанса этим методом ограничено значением max_wait_secs. По умолчанию функция ожидает бесконечно.
Аргументы
master String представления главного узла TensorFlow, который следует использовать.
config Необязательный протокол ConfigProto, используемый для настройки сеанса.
max_wait_secs Максимальное время ожидания доступности сеанса.
Возвращает
Session. Может иметь значение None, если время выполнения операции превышает тайм-аут, заданный параметром config.operation_timeout_in_ms.
Исключения
tf.DeadlineExceededError Если сеанс недоступен по истечении max_wait_secs.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/train/SessionManager

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API