tf.estimator.SummarySaverHook
Сохраняет сводные данные каждые N шагов.
Наследуется от: SessionRunHook
tf.estimator.SummarySaverHook(
save_steps=None,
save_secs=None,
output_dir=None,
summary_writer=None,
scaffold=None,
summary_op=None
)
| Аргументы | |
|---|---|
save_steps | int, сохранять сводные данные каждые N шагов. Должно быть установлено ровно одно из save_secs и save_steps. |
save_secs | int, сохранять сводные данные каждые N секунд. |
output_dir | string, каталог для сохранения сводных данных. Используется только в том случае, если не указан summary_writer. |
summary_writer | SummaryWriter. Если None и output_dir были переданы, один будет создан соответствующим образом. |
scaffold | Scaffold для получения summary_op, если он не предоставлен. |
summary_op | Tensor типа string, содержащий сериализованный Summary протокол-буфер или список Tensor. Скорее всего, это вывод методов сводных данных TF, таких как tf.compat.v1.summary.scalar или tf.compat.v1.summary.merge_all. Его можно передать как один тензор; если их больше одного, они должны передаваться как список. |
| Исключения | |
|---|---|
ValueError | Должно быть установлено ровно одно из scaffold или summary_op. |
Методы
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=None
)
Вызывается в конце сессии.
Аргумент 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/versions/r2.9/api_docs/python/tf/estimator/SummarySaverHook