读取张量流中的大数据集

时间:2016-01-25 23:46:13

标签: python deep-learning tensorflow

我不太清楚文件队列的工作原理。我试图使用像imagenet这样的大型数据集作为输入。所以预加载数据不是这样的,所以我想知道如何使用文件队列。根据教程,我们可以将数据转换为TFRecords文件作为输入。现在我们有一个大的TFRecords文件。因此,当我们为阅读器指定FIFO队列时,是否意味着程序每次都会获取一批数据并提供图形而不是加载整个数据文件?

1 个答案:

答案 0 :(得分:2)

预取量取决于您的队列容量。如果您使用string_input_producer作为文件名而使用batch进行批处理,则将有2个队列 - 文件名队列和批处理创建的预取队列。由batch创建的队列的默认容量为32,由batch(...,capacity=)参数控制,因此它可以预取最多32张图片。如果你按照TensorFlow官方文档中的大纲进行操作,那么处理示例(batch之后的所有内容)将在主Python线程中发生,而填充队列将发生在由batch/start_queue_runners创建/启动的线程中,因此,预取新数据并通过网络运行预取数据将同时发生,阻塞队列满或空时。