tf.compat.v1.train.LoggingTensorHook
Печатает указанные тензоры каждые N локальных шагов, каждые N секунд или в конце.
Наследуется от: SessionRunHook
tf.compat.v1.train.LoggingTensorHook(
tensors, every_n_iter=None, every_n_secs=None, at_end=False, formatter=None
)
Переход к TF2
Пожалуйста, ознакомьтесь с этим блокнотом о том, как мигрировать API в TF2.
Описание
Используется в блокнотах
| Используется в руководстве |
|---|
Тензоры будут выводиться в журнал с уровнем серьезности INFO. Если вы не видите журналы, возможно, вам следует добавить следующую строку после импорта:
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.INFO)
Обратите внимание, что если at_end имеет значение True, tensors не должен включать в себя ни один тензор, чьё вычисление производит побочный эффект, такой как потребление дополнительных входов.
| Аргументы | |
|---|---|
tensors | dict, сопоставляющий строковые теги с тензорами/именами тензоров, или iterable тензоров/имён тензоров. |
every_n_iter | int, печатать значения tensors один раз каждые N локальных шагов, сделанных на текущем рабочем узле. |
every_n_secs | int или float, печатать значения tensors один раз каждые N секунд. Должен быть предоставлен ровно один из every_n_iter и every_n_secs. |
at_end | bool, определяющий, следует ли печатать значения 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, которая скоро будет закрыта. |
© 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/LoggingTensorHook