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 также могут содержать данные feeds, которые будут добавлены к вызову 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