Spec-Zone.ru › TensorFlow 2.9

tf.estimator.CheckpointSaverListener

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

Показать псевдонимы

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

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

tf.compat.v1.estimator.CheckpointSaverListener, tf.compat.v1.train.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]):
  ...

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

CheckpointSaverListener может запросить остановку обучения, вернув 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
)

© 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/CheckpointSaverListener

Spec-Zone.ru

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