我有大量要训练的数据(千兆字节的数据)。
有没有办法在需要时加载和卸载?
分成小块会更好,让每个100 MB,并训练每个子集,直到错误很好。当它完成后,重新开始直到所有错误都足够好?
由于
答案 0 :(得分:1)
那么,您是否尝试过使用所有数据进行训练时会发生什么?
应该可以使用encogs BufferedNeuralDataSet
此类不是基于内存的,因此可以使用非常长的文件,而不会耗尽内存。此数据集使用Encog二进制训练文件作为缓冲区。当与较慢的访问数据集(如CSV,XML或SQL)一起使用时,必须进行解析,此数据集可用于从较慢的数据集加载并以更高的速度进行训练。
此外,我不认为只有小子集训练才能获得良好的结果,因为你用第一个子集降低了误差,然后用第二个子集重新训练,这可能包含非常不同的数据训练网络到一个对第一组不利的错误等等......