tf.compat.v1.train.CheckpointSaverHook
Сохраняет контрольные точки каждые N шагов или секунд.
Наследуется от: SessionRunHook
tf.compat.v1.train.CheckpointSaverHook(
checkpoint_dir,
save_secs=None,
save_steps=None,
saver=None,
checkpoint_basename='model.ckpt',
scaffold=None,
listeners=None,
save_graph_def=True
)
| Аргументы | |
|---|---|
checkpoint_dir | str, базовый каталог для файлов контрольных точек. |
save_secs | int, сохранять каждые N сек. |
save_steps | int, сохранять каждые N шагов. |
saver | Saver объект, используемый для сохранения. |
checkpoint_basename | str, базовое имя для файлов контрольных точек. |
scaffold | Scaffold, используется для получения объекта saver. |
listeners | Список экземпляров подклассов CheckpointSaverListener. Используется для обратных вызовов, которые выполняются непосредственно перед или после того, как этот обработчик сохранит контрольную точку. |
save_graph_def | Необходимо ли сохранить GraphDef и MetaGraphDef в checkpoint_dir. GraphDef сохраняется после создания сеанса как graph.pbtxt. MetaGraphDefs сохраняются для каждой контрольной точки как model.ckpt-*.meta. |
| Исключения | |
|---|---|
ValueError | Должен быть установлен один из save_steps или save_secs. |
ValueError | Максимально один из saver или scaffold должен быть установлен. |
Методы
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, которые вы возвращаете, также могут содержать значения feed, которые нужно добавить к вызову 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/CheckpointSaverHook