我正在使用无法完全一次加载到RAM的大量示例数据来训练神经网络。为了进行训练,我从构成数据集的序列化文件列表中读取了每个示例。我第一次阅读Windows磁盘缓存时,会将每个示例都加载到RAM中。通常,这会加快后续读取同一文件的速度,因为RAM的速度比磁盘快,但是由于我的数据集太大,因此当我循环回到该文件时,该文件已从RAM中删除,因此没有额外的好处。>
我想尽可能地防止RAM积聚,因为这会减慢计算机上的所有其他进程。目前,我能想到的最佳解决方案是为读取的文件禁用磁盘缓存。 Windows和Java是否可能?我也欢迎其他解决方案;允许我在不增加RAM的情况下遍历数据集示例的任何事情。
更新:我要解决的问题不是由磁盘缓存中的RAM堆积引起的。取而代之的是,我的读取速度较慢是由于我的文件结构不良所致。阅读OP中的最后一条评论以获取更多详细信息。