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