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]):
  ...

Слушатель может просто выполнить какое-то действие после каждого сохранения контрольной точки. Также возможно, чтобы слушатель использовал свой собственный график, чтобы действовать реже, например, на основе значения 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
)

© 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