tf.estimator.GlobalStepWaiterHook
Задерживает выполнение, пока глобальный шаг не достигнет wait_until_step.
Наследуется от: SessionRunHook
tf.estimator.GlobalStepWaiterHook(
wait_until_step
)
Этот хук задерживает выполнение, пока глобальный шаг не достигнет wait_until_step. Он используется для постепенного запуска рабочих процессов в распределённых средах. Пример использования — установка wait_until_step=int(K*log(task_id+1)) при условии, что task_id=0 — главный.
| Аргументы | |
|---|---|
wait_until_step | значение глобального шага, до которого нужно ждать. |
Методы
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.4/api_docs/python/tf/estimator/GlobalStepWaiterHook