Tyl*_*vin 8 input stream neural-network tensorflow
到目前为止我能够找到的每个tensorflow教程都是先将训练/验证/测试图像加载到内存中然后进行处理.有没有人有流量图像和标签作为输入到tensorflow的指南或建议?我有很多图像存储在不同的服务器上,我想将这些图像流式传输到tensorflow,而不是将图像直接保存在我的机器上.
谢谢!
Tensorflow确实有Queues,它支持流式传输,因此您无需在内存中加载完整数据.但是,是的,默认情况下,它们仅支持从同一服务器上的文件读取.您遇到的真正问题是,您希望从其他服务器加载内存数据.我可以想到以下方法来做到这一点:
您可以使用Tensorflow队列(请参阅此答案),而不是使用python队列(如上所述),尽管它稍微复杂一些.优点是,与普通的python多线程队列相比,tensorflow队列可以使用多个内核,从而提供更好的性能.
使用网络安装来欺骗您的操作系统,使其相信数据在同一台机器上.
此外,请记住,当使用这种分布式设置时,您将始终产生网络开销(图像从服务器1传输到2的时间),这可能会大大减慢您的培训速度.要解决这个问题,你必须构建一个带有fetch-execute重叠的多线程排队机制,这需要付出很多努力.一个更简单的选择IMO就是将数据复制到训练机器中.