相关疑难解决方法(0)

将数据作为队列提供给tf.contrib.data.Dataset

关于tf.contrib.data.Dataset(来自TensorFlow 1.2,请参见此处此处)用法:如何获取数据的方式并不真正适合我通常如何获取数据.在我的情况下,我有一个线程,我在那里收到数据,我不知道它什么时候会结束但我看到它何时结束.然后我等到我处理完所有的缓冲区,然后我完成了一个纪元.我怎样才能得到这个逻辑Dataset

请注意,我更喜欢Dataset接口而不是QueueBase接口,因为它为我提供了迭代器接口,我可以重新初始化,甚至重置为不同的接口Dataset.与在关闭后无法重新打开的队列相比,这更加强大(请参阅此处此处).

也许是一个类似的问题,或者同样的问题:我如何绕过Dataset一个队列?我有一些线程从某处读取一些数据,可以提供它并以某种方式排队.如何将数据输入Dataset?我可以无限次重复一些虚拟张量然后map用来返回我的queue.dequeue()但是这真的只能让我回到队列的所有原始问题,即如何重新打开队列.

tensorflow

18
推荐指数
1
解决办法
3185
查看次数

如何在tf.estimator的input_fn中使用tf.data的可初始化迭代器?

我想管理我的培训tf.estimator.Estimator但是在tf.dataAPI 旁边使用它有些麻烦.

我有这样的事情:

def model_fn(features, labels, params, mode):
  # Defines model's ops.
  # Initializes with tf.train.Scaffold.
  # Returns an tf.estimator.EstimatorSpec.

def input_fn():
  dataset = tf.data.TextLineDataset("test.txt")
  # map, shuffle, padded_batch, etc.

  iterator = dataset.make_initializable_iterator()

  return iterator.get_next()

estimator = tf.estimator.Estimator(model_fn)
estimator.train(input_fn)
Run Code Online (Sandbox Code Playgroud)

因为我不能使用一个make_one_shot_iterator用于我的用例,我的问题是input_fn包含一个应该在其中初始化的迭代器model_fn(这里,我tf.train.Scaffold用来初始化本地操作).

此外,我明白我们不能只使用input_fn = iterator.get_next其他ops将不会添加到同一图表.

初始化迭代器的推荐方法是什么?

python tensorflow tensorflow-datasets tensorflow-estimator

10
推荐指数
1
解决办法
4136
查看次数