Spec-Zone.ru › TensorFlow 2.9

tf.estimator.CheckpointSaverHook

Сохраняет контрольные точки каждые N шагов или секунд.

Наследуется от: SessionRunHook

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.estimator.CheckpointSaverHook, tf.compat.v1.train.CheckpointSaverHook

tf.estimator.CheckpointSaverHook(
    checkpoint_dir,
    save_secs=None,
    save_steps=None,
    saver=None,
    checkpoint_basename='model.ckpt',
    scaffold=None,
    listeners=None,
    save_graph_def=True
)
Аргументы
checkpoint_dir str, базовая директория для файлов контрольных точек.
save_secs int, сохранять каждые N сек.
save_steps int, сохранять каждые N шагов.
saver Saver объект, используемый для сохранения.
checkpoint_basename str, базовое имя для файлов контрольных точек.
scaffold Scaffold, используется для получения объекта saver.
listeners Список экземпляров подклассов CheckpointSaverListener. Используется для обратных вызовов, которые выполняются непосредственно перед или после того, как этот хук сохранит контрольную точку.
save_graph_def Нужно ли сохранять GraphDef и MetaGraphDef в checkpoint_dir. GraphDef сохраняется после создания сессии как graph.pbtxt. MetaGraphDef сохраняются для каждой контрольной точки как model.ckpt-*.meta.
Исключения
ValueError Один из save_steps или save_secs должен быть установлен.
ValueError Не более одного из saver или scaffold должно быть установлено.

Методы

after_create_session

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

after_create_session(
    session, coord
)

Вызывается при создании новой TensorFlow сессии.

Это вызывается для сигнализации хукам о создании новой сессии. Это имеет два основных отличия от ситуации, в которой вызывается begin:

  • Когда это вызывается, граф завершен, и к графу больше нельзя добавлять операции.
  • Этот метод также будет вызван в результате восстановления обернутой сессии, а не только в начале всей сессии.
Аргументы
session Созданная TensorFlow сессия.
coord Объект Coordinator, который отслеживает все потоки.

after_run

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

after_run(
    run_context, run_values
)

Вызывается после каждого вызова run().

Аргумент run_values содержит результаты запрошенных операций/тензоров вызовом before_run().

Аргумент run_context — тот же, что и отправленный в вызов before_run. Можно вызвать run_context.request_stop() для остановки итерации.

Если session.run() вызывает какие-либо исключения, то after_run() не вызывается.

Аргументы
run_context Объект SessionRunContext.
run_values Объект SessionRunValues.

before_run

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

before_run(
    run_context
)

Вызывается перед каждым вызовом run().

Можно вернуть из этого вызова объект SessionRunArgs, указывающий операции или тензоры для добавления к предстоящему вызову run(). Эти операции/тензоры будут выполнены вместе с операциями/тензорами, изначально переданными в исходный вызов run(). Аргументы вызова run, которые вы возвращаете, также могут содержать данные для добавления к вызову run().

Аргумент run_context — SessionRunContext, который предоставляет информацию о предстоящем вызове run(): изначально запрошенные операции/тензоры, TensorFlow сессия.

На этом этапе граф завершён, и вы не можете добавлять операции.

Аргументы
run_context Объект SessionRunContext.
Возвращает
None или объект SessionRunArgs.

begin

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

begin()

Вызывается один раз перед использованием сессии.

При вызове, используется стандартная графа, которая будет запущена в сессии. Хук может изменить графу, добавив новые операции. После вызова begin() графа будет завершена, и другие обработчики больше не смогут изменить графу. Второй вызов begin() для той же графы не должен изменять графу.

end

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

end(
    session
)

Вызывается в конце сессии.

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

Если session.run() вызывает исключение, отличное от OutOfRangeError или StopIteration, то end() не вызывается. Обратите внимание на разницу в поведении end() и after_run() при том, что session.run() вызывает исключения OutOfRangeError или StopIteration. В этом случае end() вызывается, но after_run() не вызывается.

Аргументы
session Сессия TensorFlow, которая скоро будет закрыта.

© 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/versions/r2.9/api_docs/python/tf/estimator/CheckpointSaverHook

Spec-Zone.ru

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