Spec-Zone.ru › TensorFlow

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 разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как перейти с этого API на эквивалентную встроенную версию TensorFlow v2. Инструкции по переносу остального кода см. в руководстве по переходу с TensorFlow v1 на TensorFlow v2.

Инструкции по переносу API на TF2 см. в этом блокноте.

Описание

Используется в блокнотах

Используется в руководстве
  • Перенос LoggingTensorHook и StopAtStepHook на обратные вызовы Keras

Тензоры будут выведены в журнал с уровнем важности 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

Spec-Zone.ru

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