Spec-Zone.ru › TensorFlow

tf.compat.v1.train.NanTensorHook

Отслеживает тензор потерь и останавливает обучение, если потери равны NaN.

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

tf.compat.v1.train.NanTensorHook(
    loss_tensor, fail_on_nan_loss=True
)

Может либо завершиться с исключением, либо просто остановить обучение.

Аргументы
loss_tensor Tensor, тензор потерь.
fail_on_nan_loss bool, вызывать ли исключение, когда потери равны NaN.

Методы

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/NanTensorHook

Spec-Zone.ru

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