tf.estimator.StopAtStepHook
Хук, запрашивающий остановку на указанном шаге.
Наследуется от: SessionRunHook
tf.estimator.StopAtStepHook(
num_steps=None, last_step=None
)
| Аргументы | |
|---|---|
num_steps | Количество шагов для выполнения. |
last_step | Шаг, после которого необходимо остановить. |
| Исключения | |
|---|---|
ValueError | Если один из аргументов недействителен. |
Методы
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.3/api_docs/python/tf/estimator/StopAtStepHook