このページは Cloud Translation API によって翻訳されました。
Switch to English

tf.data.Iterator

TensorFlow 1つのバージョン GitHubの上のソースを表示

イテレータを表しtf.data.Dataset

tf.data.Iteratorの要素列挙するための主要なメカニズムであるtf.data.Dataset 。それは、forループを使用して反復処理することが可能な手段Pythonのイテレータプロトコルをサポートしています。

dataset = tf.data.Dataset.range(2)
for element in dataset:
  print(element)
tf.Tensor(0, shape=(), dtype=int64)
tf.Tensor(1, shape=(), dtype=int64)

または介して明示的に個々の要素を取り出すことによってget_next()

dataset = tf.data.Dataset.range(2)
iterator = iter(dataset)
print(iterator.get_next())
tf.Tensor(0, shape=(), dtype=int64)
print(iterator.get_next())
tf.Tensor(1, shape=(), dtype=int64)

また、反復がを介して支持されている非上昇get_next_as_optional()に包まれた(可能な場合)次の要素を返す、 tf.experimental.Optional

dataset = tf.data.Dataset.from_tensors(42)
iterator = iter(dataset)
optional = iterator.get_next_as_optional()
print(optional.has_value())
tf.Tensor(True, shape=(), dtype=bool)
optional = iterator.get_next_as_optional()
print(optional.has_value())
tf.Tensor(False, shape=(), dtype=bool)

element_spec この反復子の要素の型指定。

dataset = tf.data.Dataset.from_tensors(42)
iterator = iter(dataset)
iterator.element_spec
tf.TensorSpec(shape=(), dtype=tf.int32, name=None)

メソッド

get_next

ソースを表示

入れ子構造返しtf.Tensor次の要素を含む複数可。

dataset = tf.data.Dataset.from_tensors(42)
iterator = iter(dataset)
print(iterator.get_next())
tf.Tensor(42, shape=(), dtype=int32)

戻り値
入れ子構造tf.Tensorオブジェクト。

発生させます
tf.errors.OutOfRangeError :イテレータの終わりに達した場合。

get_next_as_optional

ソースを表示

返しtf.experimental.Optional次の要素が含まれています。

反復子がシーケンスの終わりに達した場合、返さtf.experimental.Optional何の価値もありません。

dataset = tf.data.Dataset.from_tensors(42)
iterator = iter(dataset)
optional = iterator.get_next_as_optional()
print(optional.has_value())
tf.Tensor(True, shape=(), dtype=bool)
print(optional.get_value())
tf.Tensor(42, shape=(), dtype=int32)
optional = iterator.get_next_as_optional()
print(optional.has_value())
tf.Tensor(False, shape=(), dtype=bool)

戻り値
tf.experimental.Optional次の要素を表すオブジェクト。

__iter__