Spec-Zone.ru › TensorFlow

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/api_docs/python/tf/compat/v1/train/CheckpointSaverListener

Spec-Zone.ru

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