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 Операция, выполняемая сразу после создания сессии. Обычно используется для инициализации таблиц и локальных переменных.
ready_op Условие проверки инициализации модели.
ready_for_local_init_op Условие проверки готовности модели для выполнения local_init_op.
graph Graph, который будет использоваться моделью.
recovery_wait_secs Секунды между проверками готовности модели.
local_init_run_options RunOptions, передаваемые в session.run при выполнении local_init_op.
local_init_feed_dict Необязательный словарь feed для использования при выполнении 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 со значениями feed. Этот словарь feed передаётся в вызов сессии 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