该
Dataset.from_generator()方法旨在将非TensorFlow
Python代码连接到
tf.data输入管道。例如,您可以从生成器生成简单的Python对象(例如
int和
str对象),列表或NumPy数组,它们将被转换为TensorFlow值。
但是,在示例代码中,您得到的结果
it.get_next()是一个
tf.Tensor对象。不支持。如果需要在其他数据集中捕获迭代器,则可以
Dataset.map()在虚拟数据集上使用,如下所示:
import tensorflow as tfDataset = tf.contrib.data.Datasetit2 = Dataset.range(5).make_one_shot_iterator()das_dataset = Dataset.from_tensors(0).repeat().map(lambda _: it2.get_next())das_dataset_it = das_dataset.make_one_shot_iterator()with tf.Session() as sess: while True: print(sess.run(it2.get_next())) print(sess.run(das_dataset_it.get_next()))



