我有一个包含200,000个训练样本的CSV文件,我想用它训练我的网络。
我正在使用InputProducer
和DecodeCSV
来获取数据。然后我通过shuffle_batch
运行所有数据,我在其中设置了batch_size=50
,min_after_dequeue=10000
和capacity=min_after_dequeue + 3 * batch_size
。
然后我运行循环并反复调用sess.run()
。
我的问题是我现在想要在几个时代运行它。在每个时代,我想要完成整个训练集。我不认为当前的设置是这样做的。我该怎么做呢?
如果我完全理解shuffle_batch
及其参数的内部运作方式,我甚至都不确定。
提前谢谢。
答案 0 :(得分:1)
队列应该在纪元结束时阻止。当发生这种情况时,您将知道您已经用尽了训练集。有关此问题的更多信息:Tensor Flow shuffle_batch() blocks at end of epoch