使用queu实现TensorFlow的MNIST示例而不使用feed\u dict的问题

2024-05-19 08:59:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了TensorFlow的Deep MNIST for Experts,并希望对其进行调整,以便在gpu上更有效地使用。因为feed dict似乎非常慢,所以我实现了一个输入管道,使用tf.train.shuffle_batchFIFOQueue将数据输入到模型中。你知道吗

Here's a Gist with the stock implementation of the TensorFlow guidehere's a Gist with my attempt at an optimized implementation.

现在在TensorFlow页面上的示例中,经过几千次迭代后,精度很快接近1。但是在我的代码中,除了队列实现是同一个模型之外,精度似乎在~0.05到~0.15之间波动。此外,经过几百次迭代之后,损失达到了2.3左右,并且没有比这减少更多。你知道吗

另一个值得注意的点是:当我与创建的原始批处理和后续迭代中使用的批处理进行比较时,它们看起来是等价的。也许问题出在我的排队上,但我真的不知道如何解决它。如果有人看到我的实现有任何问题,一些指针将不胜感激!你知道吗


Tags: the模型for管道gputensorflowfeedwith
2条回答

找到了解决办法。结果是tf.train.shuffle_batch隐式实现了RandomShuffleQueue。将tf.train.shuffle_batch的结果加载到FIFOQueue可能导致FIFOQueue不更新输入批处理,而标签正在更新,因为它们没有被传递到FIFOQueue。移除FIFOQueue完全解决了我的问题。你知道吗

相关问题 更多 >

    热门问题