SaveableObject для сохранения/восстановления состояния итератора с помощью Saver.
Исключения
ValueError
Если итератор не поддерживает сохранение контрольных точек.
Например:
with tf.Graph().as_default():
ds = tf.data.Dataset.range(10)
iterator = ds.make_initializable_iterator()
# Build the iterator SaveableObject.
saveable_obj = tf.data.experimental.make_saveable_from_iterator(iterator)
# Add the SaveableObject to the SAVEABLE_OBJECTS collection so
# it can be automatically saved using Saver.
tf.compat.v1.add_to_collection(tf.GraphKeys.SAVEABLE_OBJECTS, saveable_obj)
saver = tf.compat.v1.train.Saver()
while continue_training:
... Perform training ...
if should_save_checkpoint:
saver.save()
Примечание: При восстановлении итератора существующее состояние итератора полностью удаляется. Это означает, что любые изменения, которые вы могли внести в график Dataset, также будут удалены! Это включает новый график Dataset, который вы могли создать во время проверки. Поэтому, во время проверки убедитесь, что вы запускаете инициализатор для входной конвейерной обработки проверки после восстановления контрольной точки.
Примечание: Не все итераторы пока поддерживают сохранение контрольных точек. Попытка сохранить состояние недопустимого итератора приведет к ошибке.