РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
666 of 824 menu

Атрибут latest_checkpoint

Атрибут latest_checkpoint класса CheckpointManager возвращает полный путь к последнему сохранённому чекпоинту. Если ни один чекпоинт ещё не был сохранён, атрибут возвращает None. Атрибут доступен только для чтения и обновляется автоматически после каждого вызова метода save.

Этот атрибут удобно использовать для восстановления модели из последней сохранённой точки, а также для проверки, существуют ли уже сохранённые чекпоинты.

Синтаксис

manager.latest_checkpoint

Пример

Давайте создадим менеджер чекпоинтов и проверим значение атрибута latest_checkpoint до сохранения:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(3, input_shape=(2,)) ]) manager = tf.train.CheckpointManager( tf.train.Checkpoint(model=model), directory='./ckpt', max_to_keep=3 ) print(manager.latest_checkpoint)

Результат выполнения кода:

None

Пример

Теперь сохраним чекпоинт и посмотрим, как изменится значение атрибута:

<+python+> import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(3, input_shape=(2,)) ]) manager = tf.train.CheckpointManager( tf.train.Checkpoint(model=model), directory='./ckpt', max_to_keep=3 ) saved_path = manager.save() print(manager.latest_checkpoint) print(saved_path) <-python+>

Результат выполнения кода:

./ckpt/ckpt-1 ./ckpt/ckpt-1

Как видно, после сохранения атрибут latest_checkpoint содержит путь к последнему чекпоинту, совпадающий со значением, возвращённым методом save.

Пример

Давайте сохраним несколько чекпоинтов и убедимся, что атрибут всегда указывает на самый последний из них:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(3, input_shape=(2,)) ]) manager = tf.train.CheckpointManager( tf.train.Checkpoint(model=model), directory='./ckpt', max_to_keep=3 ) manager.save() manager.save() manager.save() print(manager.latest_checkpoint)

Результат выполнения кода:

./ckpt/ckpt-3

Пример

Атрибут latest_checkpoint удобно использовать для восстановления модели из последней сохранённой точки:

import tensorflow as tf model = tf.keras.Sequential([ tf.keras.layers.Dense(3, input_shape=(2,)) ]) checkpoint = tf.train.Checkpoint(model=model) manager = tf.train.CheckpointManager( checkpoint, directory='./ckpt', max_to_keep=3 ) manager.save() if manager.latest_checkpoint: checkpoint.restore(manager.latest_checkpoint) print("Restored from:", manager.latest_checkpoint) else: print("No checkpoint found")

Результат выполнения кода:

"Restored from: ./ckpt/ckpt-1"

Смотрите также

  • класс CheckpointManager,
    который управляет сохранением и восстановлением чекпоинтов
  • метод save,
    который сохраняет новый чекпоинт и возвращает его путь
  • метод restore_or_initialize,
    который восстанавливает последний чекпоинт или инициализирует модель
  • атрибут checkpoints,
    который хранит список всех сохранённых путей к чекпоинтам
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить