阅读了这个Github问题后,我觉得自己对队列的理解似乎有所欠缺:
https://github.com/tensorflow/tensorflow/issues/3009
我认为当将数据加载到队列中时,它会在计算最后一批数据时预先传输到GPU中,这样就没有带宽瓶颈,假设计算时间比加载下一批数据的时间长。但是上面的链接表明,从队列到图形之间存在昂贵的复制(numpy <-> TF),在图形中加载文件并在那里进行预处理会更快。但这对我来说没有意义。如果我从文件中加载一个256x256的图像和一个原始的numpy数组,有何区别?如果有的话,我认为numpy版本更快。我错过了什么?
QueueDequeueMany
被放置在/cpu:0上。因此,以那种方式使用队列不会异步地将事物传输到GPU。 - Yaroslav Bulatov