【发布时间】:2021-01-14 18:38:56
【问题描述】:
好吧,我正在尝试了解线程和队列。
我在网上看到了很多文档,但令人惊讶的是,在 tensorflow 2.0 中甚至没有一个关于此主题的示例。
我希望我的队列做的是,
- 定义生成示例的操作。
- 定义一个队列。
- 定义一个 enqueue_operation,使用多个线程将上面创建的队列中的示例排入队列。
- 控制此队列以使批次出队。
我的想法是,
import tensorflow as tf
import threading
batch_size = 2
example = tf.random.normal([1, 2]) # Generate an example, shape = [1, 2]
queue = tf.queue.RandomShuffleQueue(capacity=10, min_after_dequeue=0, \
dyptes=tf.float32, shapes=[1, 2])
enqueue_op = queue.enqueue(example)
# inputs = queue.dequeue(2) # Don't run this. This would stop your computer.
我不知道我在做什么。我还学习了如何使用tf.train.Coordinator() 管理多个线程,但我不知道在哪里使用它..
在问这个问题时,我怀疑tf.data.Dataset 中的许多 API 替换了所有这些,并且多个线程可以替换为 tf.data.experimental.AUTOTUNE。
对不起,这里的所有混乱。即使在询问期间我也无法正确安排。
任何 cmets 将不胜感激。提前致谢。
【问题讨论】:
标签: python multithreading tensorflow queue