tf.estimator.StepCounterHook
Хук, который считает шаги в секунду.
Наследуется от: SessionRunHook
tf.estimator.StepCounterHook(
every_n_steps=100, every_n_secs=None, output_dir=None, summary_writer=None
)
Методы
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/StepCounterHook