Строка, определяющая способ обработки конвейеров ввода, зависящих от внешнего состояния. Возможные значения: 'ignore' — внешнее состояние молча игнорируется; 'warn' — внешнее состояние игнорируется, при этом в журнал записывается предупреждение; 'fail' — операция завершается с ошибкой при обнаружении внешнего состояния. По умолчанию задаётся значение 'fail'.
Возвращает
SaveableObject для сохранения и восстановления состояния итератора с помощью Saver.
Вызывает исключение
ValueError
Если итератор не поддерживает создание контрольных точек.
ValueError
Если external_state_policy не равно 'warn', 'ignore' или 'fail'.
Пример:
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, который вы могли построить во время проверки. Поэтому во время проверки после восстановления контрольной точки обязательно запустите инициализатор конвейера ввода для проверки.
Примечание: Пока не все итераторы поддерживают создание контрольных точек. Попытка сохранить состояние неподдерживаемого итератора приведёт к ошибке.