我一直在使用.NET框架来训练神经网络,我的数据集非常庞大,输入数量很多.
我决定切换到Encog,因为我使用的旧框架存在一些问题,而且因为Encog看起来更丰富并且提供了额外的功能.
我的问题是Encog将所有训练数据一次加载到2D数组中,这不适合我,因为我有一个非常大的数据集.我已经尝试过解决这个问题,并检查了其他问题(例如这个问题,但找不到一个好的答案).
我尝试使用SQLNeuralDataSet和其他支持流操作的实现,但它们似乎最终都将数据加载到内存中(使用MemoryDataLoader),这并不能解决我的问题.
有没有办法可以一次加载(和训练)我的网络一个项目?或者这个选项在Encog中不可用?
谢谢
编辑
我最终复制了源代码并根据我的需要进行了修改.基本上,这一切都归结于Process(IMLDataPair pair)在GradientWorker其中,根据文档:
处理一个训练集元素.
.net artificial-intelligence machine-learning neural-network encog