【问题标题】:Iterating Batches through Tensorflow Dataset Generator通过 TensorFlow 数据集生成器迭代批次
【发布时间】:2019-08-07 19:23:56
【问题描述】:

假设我有

sequence = np.array([[1],[2],[3],[4],[5]])

我已将生成器定义为

def generator():
    for el in sequence:
        yield el

现在,我希望使用 Tensorflow 中定义的 from_generator() 来从生成器中检索数据。

dataset = tf.data.Dataset().from_generator(generator,
                                       output_types= tf.int64, 
                                       output_shapes=(tf.TensorShape([1])))
iterator = dataset.make_initializable_iterator()
el = iterator.get_next()

为了找回我用过的,

with tf.Session() as sess:
    sess.run(iterator.initializer)
    print(sess.run(el))
    print(sess.run(el))
    print(sess.run(el))
    print(sess.run(el))
    print(sess.run(el))

有没有办法使用循环来获取“el”,而不是每次都执行 sess.run(el)?

【问题讨论】:

    标签: python tensorflow generator


    【解决方案1】:

    这应该可以实现你想要的:

    with tf.Session() as sess:
        sess.run(iterator.initializer)
        try:
            while True:
                print(sess.run(el))
        except tf.errors.OutOfRangeError:
            print("Iterating finished")
            pass
    

    【讨论】:

      猜你喜欢
      • 2019-01-07
      • 2018-08-27
      • 2021-09-30
      • 2021-01-08
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多