【发布时间】:2017-02-08 12:29:25
【问题描述】:
在 TF-slim documentation(参考 read 函数)中,我意识到有多个阅读器将解析的 TF-examples 输入(入队)到队列中,但是有一个函数 dequeue一次只能出列一个元素。当我创建批次时,这会导致我的训练出现瓶颈吗?改用dequeue_many 会更好吗?
当我之前训练我的模型时,我在 TensorBoard 上注意到并行读取器队列总是满的 - 这是引起关注的原因还是入队操作应该比出队操作更快?一般来说,出队操作出列的示例应该与入队操作的读者数量一样多吗?
我的猜测是,在任何时候让更多的示例出队可能是件好事,只要有一个 min_after_dequeue 参数可以确保队列中有足够的示例在任何一点被洗牌(实际上,多久洗牌发生了吗?)。但是,一次性将多个示例出列的权衡是什么?
【问题讨论】:
-
如果队列已满,则可能意味着下游管道的任何部分都是瓶颈,即卷积层等。我会怀疑那些在指责出队之前的人
-
感谢您的回答!我确实有一个相当慢的 GPU(800 系列),所以我将批量大小限制在相当小的范围内。我可以知道在多个读者入队后单个出队操作是否通常发生得足够快?使用 this 与 dequeue_many 的权衡是什么?
标签: python machine-learning tensorflow computer-vision deep-learning