当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.data.experimental.make_saveable_from_iterator用法及代码示例


返回一个 SaveableObject 用于使用 Saver 保存/恢复迭代器状态。 (已弃用)

用法

tf.data.experimental.make_saveable_from_iterator(
    iterator, external_state_policy=None
)

参数

  • iterator 迭代器。
  • external_state_policy 一个字符串,用于标识如何处理依赖于外部状态的输入管道。可能的值为'ignore':外部状态被静默忽略。 'warn':外部状态被忽略,记录警告。 'fail':遇到外部状态操作失败。默认情况下,我们将其设置为'fail'。

返回

  • 用于使用 Saver 保存/恢复迭代器状态的 SaveableObject。

抛出

  • ValueError 如果迭代器不支持检查点。
  • ValueError 如果 external_state_policy 不是 'warn'、'ignore' 或 'fail' 之一。

警告:此函数已弃用。它将在未来的版本中删除。更新说明:make_saveable_from_iterator 旨在与 tf.compat.v1.Saver 一起在 TF1 中使用。在 TF2 中,请改用tf.train.Checkpoint

例如:

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()

注意:恢复迭代器时,现有的迭代器状态将被完全丢弃。这意味着您对数据集图所做的任何更改也将被丢弃!这包括您在验证期间可能构建的新数据集图。因此,在运行验证时,请确保在恢复检查点后运行验证输入管道的初始化程序。

注意:并非所有迭代器都支持检查点。尝试保存不受支持的迭代器的状态将引发错误。

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.experimental.make_saveable_from_iterator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。