tf.train.batch_join 队列泄漏?

tf.train.batch_join queue leak?

我正在使用两个数据输入管道训练一个深度网络,一个用于训练,一个用于验证。他们分别使用shuffle_batch_joinbatch_join进行并行数据读取。网络中使用的数据流是在这两个管道之上使用 tf.cond 操作决定的,该操作由 is_training 占位符控制,该占位符在训练迭代时设置为 true,在执行时设置为 false验证。我有 4 个线程用于读取训练数据和 1 个线程用于验证。

但是,我刚刚将队列摘要添加到 tensorboard,并观察到验证队列的摘要(显示已满队列的一部分)在训练期间的某个时刻变得非零,然后又降回 0。这看起来很奇怪,因为验证只在 1K 次迭代后运行,并且那些数据点应该只在那个时候被删除。有没有人有类似的经历或可以阐明可能发生的事情?

在 TensorFlow 讨论论坛上回答 (https://groups.google.com/a/tensorflow.org/forum/#!topic/discuss/mLrt5qc9_uU)