tf.global_variables_initializer() 还会为 tf.data.Dataset 初始化迭代器吗?

Will tf.global_variables_initializer() also initialize the iterator for tf.data.Dataset?

我想知道 tf.global_variables_initializer() 是否也为 tf.data.Dataset 初始化了 iterator,或者我需要单独初始化 iterator 作为:

iterator = dataset.make_initializable_iterator() sess.run(iterator.initializer)

您必须单独初始化迭代器。 有 None 变量 feed 到 tf.global_variables_initializer()

official example:

max_value = tf.placeholder(tf.int64, shape=[])
dataset = tf.data.Dataset.range(max_value)
iterator = dataset.make_initializable_iterator()
next_element = iterator.get_next()

# Initialize an iterator over a dataset with 10 elements.
sess.run(iterator.initializer, feed_dict={max_value: 10})
for i in range(10):
  value = sess.run(next_element)
  assert i == value

# Initialize the same iterator over a dataset with 100 elements.
sess.run(iterator.initializer, feed_dict={max_value: 100})
for i in range(100):
  value = sess.run(next_element)
  assert i == value