用法
get_next(
name=None
)
返回下一个元素。
在图形模式下,您通常应该调用一次此方法并将其结果用作另一个计算的输入。然后,一个典型的循环将对该计算的结果调用tf.Session.run
。当 Iterator.get_next()
操作引发 tf.errors.OutOfRangeError
时,循环将终止。以下骨架显示了在构建训练循环时如何使用此方法:
dataset = ... # A `tf.data.Dataset` object.
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()
# Build a TensorFlow graph that does something with each element.
loss = model_function(next_element)
optimizer = ... # A `tf.compat.v1.train.Optimizer` object.
train_op = optimizer.minimize(loss)
with tf.compat.v1.Session() as sess:
try:
while True:
sess.run(train_op)
except tf.errors.OutOfRangeError:
pass
注意:多次调用Iterator.get_next()
是合法的,例如当您在一个步骤中将不同的元素分发到多个设备时。但是,当用户在训练循环的每次迭代中调用 Iterator.get_next()
时,就会出现一个常见的陷阱。 Iterator.get_next()
向图中添加ops,执行每个op分配资源(包括线程);因此,在训练循环的每次迭代中调用它都会导致速度减慢并最终耗尽资源。为了防止这种结果,我们会在使用次数超过固定的可疑阈值时记录警告。
相关用法
- Python tf.compat.v1.data.Iterator.from_structure用法及代码示例
- Python tf.compat.v1.data.Iterator.from_string_handle用法及代码示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代码示例
- Python tf.compat.v1.data.Dataset.snapshot用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.reduce用法及代码示例
- Python tf.compat.v1.data.TextLineDataset.from_tensors用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.as_numpy_iterator用法及代码示例
- Python tf.compat.v1.data.FixedLengthRecordDataset.skip用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.bucket_by_sequence_length用法及代码示例
- Python tf.compat.v1.data.Dataset.random用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.concatenate用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.cardinality用法及代码示例
- Python tf.compat.v1.data.TextLineDataset.filter用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.skip用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.padded_batch用法及代码示例
- Python tf.compat.v1.data.FixedLengthRecordDataset.take用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.scan用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.take用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.padded_batch用法及代码示例
- Python tf.compat.v1.data.FixedLengthRecordDataset.enumerate用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.data.Iterator.get_next。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。