我的理解是,为每个纪元洗牌训练样本是一个很好的做法,这样每个小批量包含整个数据集的一个很好的随机样本。如果我将整个数据集转换为包含TFRecords的单个文件,那么在加载整个数据集之后如何实现这种混洗?我的理解是,没有有效的随机访问TFRecord文件。所以,具体而言,我正在寻找如何在这种情况下使用TFRecord文件的指导。TF记录和记录洗牌
5
A
回答
3
这不是 - 您可以通过将输入分成多个输入数据文件,然后将它们对待as explained in this answer来改善混合。
如果您需要接近“完美”洗牌的任何内容,您需要将其读入内存中,但实际上对于大多数情况,您可能会通过分成100或1000个文件进行“足够好”的洗牌,然后使用一个大小足以容纳8-16个文件数据的shuffle队列。
我有一个痒在脑后,写一个外部随机洗牌队列,可以泄漏到磁盘,但它是我的优先级列表非常低 - 如果有人想贡献一个,我志愿审查它。 :)
+6
痒怎么样? +1 – TimZaman
0
相关问题
- 1. 将CSV文件转换为TF记录
- 2. 什么是“洗牌”数据库记录表的最佳方式?
- 3. 后缀/ postqueue冲洗 - MX记录刷新
- 4. 对虾PDF和多记录记录
- 5. Erlang和记录
- 6. 记录时记录时间
- 7. 主义坚持和冲洗在Symfony中导致重复记录
- 8. accepts_nested_attributes_for和新记录
- 9. 记录和定义
- 10. friendly_id和新记录
- 11. 总和在记录
- 12. 总和的记录
- 13. Qt4和DNS记录
- 14. 什么可能导致记录模块多次记录记录?
- 15. SQL&C#搜索记录并期望记录或一组记录?
- 16. 检索记录从一个记录到另一个记录
- 17. MYSQL将多条记录中的记录除外最新记录
- 18. 当前记录和下一条记录之间的列总和
- 19. 记录
- 20. 记录。
- 21. 记录
- 22. 没有返回记录在记录(VB6)
- 23. 记录集只返回1000条记录
- 24. 空记录器问题(日志记录)
- 25. 记录集:空字符串记录?
- 26. 活动记录审计历史记录
- 27. Gwt-ext。 Bean记录并记录到bean
- 28. Asp-Classic ADODB记录集丢失记录
- 29. 通话记录不保存记录
- 30. iPhone通话记录/历史记录
有'shuffle_batch'使用'RandomShuffleQueue'。它洗牌缓冲部分的数据集,这个问题有更多的细节 - http://stackoverflow.com/questions/33715728/using-queues-to-uniformly-sample-from-multiple-input-files –
这是一个有益的但是他提出的解决方案仍然会加载整个数据集:看起来问题的关键在于确保这些类在小批量中被同等地表示。如果加载整个数据集不太实际,那么看起来最好的方法就是维护文件名队列并加载单个实例(可能有多个线程进入队列)。在这种情况下,TFRecord似乎没有提供太多的价值。 – bobw