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 также могут содержать значения feed для добавления в вызов 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/StopAtStepHook