tf.compat.v1.train.SessionRunHook
Фугук для расширения вызовов MonitoredSession.run().
Используется в блокнотах
| Используется в руководстве |
|---|
Методы
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, которая скоро будет закрыта. |
© 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/SessionRunHook