【发布时间】:2018-10-22 01:26:36
【问题描述】:
在生产环境中,我有来自 N 个生产者的数据,这些生产者必须通过网络。我在parallelising tf.data.Dataset.from_generator 上找到了这条评论,它真正描述了我想要的。
def generator(n):
# returns n-th generator function
def dataset(n):
return tf.data.Dataset.from_generator(generator(n))
ds = tf.data.Dataset.range(N).apply(tf.contrib.data.parallel_interleave(dataset, cycle_lenght=N))
# where N is the number of generators you use
但是 generator(n) 函数应该是什么样子。因为当我用
运行这个示例时 def generator(n):
"""Returns the n-th generator function (for consumer n)
"""
consumer = self.consumers[n]
def gen():
for item in consumer:
yield item
return gen
使用 self.consumers 一个 Python 列表然后我会得到错误:
TypeError:列表索引必须是整数或切片,而不是张量
【问题讨论】:
-
什么是
n?从您发布的代码中,它听起来像是tf.Tensor,不能用于索引到列表中。 -
是的,这就是我提出这个问题的原因:)
标签: tensorflow tensorflow-datasets