我想知道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