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



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

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

您必须单独初始化迭代器。有tf.global_variables_initializer()的可变馈送

官方示例:

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

最新更新