Spec-Zone.ru › TensorFlow 1.15

tf.train.CheckpointSaverListener

Интерфейс для слушателей, которые выполняют действия до или после сохранения контрольной точки.

Просмотр псевдонимов

Основные псевдонимы

tf.estimator.CheckpointSaverListener

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.estimator.CheckpointSaverListener, tf.compat.v1.train.CheckpointSaverListener, `tf.compat.v2.estimator.CheckpointSaverListener`

CheckpointSaverListener срабатывает только на шагах, когда CheckpointSaverHook срабатывает, и предоставляет обратные вызовы в следующих точках:

  • перед использованием сеанса
  • перед каждым вызовом Saver.save()
  • после каждого вызова Saver.save()
  • в конце сеанса

Для использования слушателя реализуйте класс и передайте слушателя в CheckpointSaverHook, как в этом примере:

class ExampleCheckpointSaverListener(CheckpointSaverListener):
  def begin(self):
    # You can add ops to the graph here.
    print('Starting the session.')
    self.your_tensor = ...

  def before_save(self, session, global_step_value):
    print('About to write a checkpoint')

  def after_save(self, session, global_step_value):
    print('Done writing checkpoint.')
    if decided_to_stop_training():
      return True

  def end(self, session, global_step_value):
    print('Done with the session.')

...
listener = ExampleCheckpointSaverListener()
saver_hook = tf.estimator.CheckpointSaverHook(
    checkpoint_dir, listeners=[listener])
with
tf.compat.v1.train.MonitoredTrainingSession(chief_only_hooks=[saver_hook]):
  ...

Слушатель может просто выполнить какое-то действие после каждого сохранения контрольной точки. Также возможно, чтобы слушатель использовал собственное расписание для действий с меньшей частотой, например, на основе значения global_step. В этом случае разработчики должны реализовать метод end(), чтобы обработать действия, связанные с последним сохранением контрольной точки. Но слушатель не должен действовать дважды, если after_save() уже обработало это последнее сохранение контрольной точки.

Слушатель может запросить остановку обучения, вернув True в after_save. Обратите внимание, что в условиях распределённого обучения с репликацией только chief должен использовать это поведение. В противном случае каждый рабочий выполнит собственную оценку, что может быть неэффективным использованием ресурсов.

Методы

after_save

Просмотреть исходный код

after_save(
    session, global_step_value
)

before_save

Просмотреть исходный код

before_save(
    session, global_step_value
)

begin

Просмотреть исходный код

begin()

end

Просмотреть исходный код

end(
    session, global_step_value
)

© 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/r1.15/api_docs/python/tf/train/CheckpointSaverListener

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API