Spec-Zone.ru › TensorFlow 2.4

tf.estimator.LoggingTensorHook

Печатает заданные тензоры каждые N локальных шагов, каждые N секунд или в конце.

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

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

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

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

tf.compat.v1.estimator.LoggingTensorHook, tf.compat.v1.train.LoggingTensorHook

tf.estimator.LoggingTensorHook(
    tensors, every_n_iter=None, every_n_secs=None, at_end=False, formatter=None
)

Тензоры будут выводиться в журнал с уровнем INFO. Если журналы не отображаются, добавьте следующую строку после импортов:

tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.INFO)

Обратите внимание, что если at_end имеет значение True, то tensors не должен включать в себя тензоры, чьё вычисление вызывает побочные эффекты, такие как потребление дополнительных входных данных.

Аргументы
tensors словарь, сопоставляющий строковые теги с тензорами/именами тензоров, или список тензоров/имён тензоров.
every_n_iter для печати значений tensors каждые N локальных шагов, совершённых на текущем узле.
every_n_secs для печати значений tensors каждые N секунд. Должен быть указан ровно один из every_n_iter и every_n_secs.
at_end указывает, нужно ли печатать значения tensors в конце выполнения.
formatter функция, которая принимает словарь tag->Tensor и возвращает строку. Если None использует стандартную печать, все тензоры будут напечатаны.
Исключения
ValueError если every_n_iter не является положительным числом.

Методы

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 сессия, которая будет вскоре закрыта.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/estimator/LoggingTensorHook

Spec-Zone.ru

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