简体   繁体   English

如何估计用Envg用Levenberg-Marquardt算法训练具有特定样本集的特定网络所需的RAM数量?

[英]How to estimate the amount of RAM it will take Encog to train a particular network with a particular sample set with Levenberg-Marquardt algorithm?

I am studying Encog (versions 3.0 and 3.1 for Java) neural network framework and would like to try Levenberg–Marquardt algorithm in my neural network training. 我正在研究Encog(Java的3.0和3.1版本)神经网络框架,并且想在我的神经网络培训中尝试使用Levenberg–Marquardt算法。 However my actual neural networks are pretty complex natural (featuring hundreds of input neurons) and not a single (I've been simplifying from tens of thousands to 136) network appears to be possible to be trained with Levenberg–Marquardt (saying there is not enough memory while I dedicate 2 GiBs to the JVM). 但是,我实际的神经网络是非常复杂的自然网络(拥有数百个输入神经元),并且没有一个(我已经从数万个简化为136个神经网络)似乎可以用Levenberg-Marquardt训练(说没有足够的内存,而我将2个GiB专用于JVM)。 But it performs very good when I try a simple synthetic task with a simple (just 3 input neurons) network. 但是,当我尝试使用简单的(仅3个输入神经元)网络进行简单的合成任务时,它的效果非常好。

The question is how can I estimate the amount of memory it will take Encog to train a particular network with a particular sample set with Levenberg-Marquardt algorithm? 问题是我该如何估计Encog使用Levenberg-Marquardt算法训练具有特定样本集的特定网络所需的内存量? How can I guess what is the maximum complexity can be fit in 2 GiBs (the actual machine has 4, but the JVM seems unable to allocate more than 2)? 我怎么能猜到2个GiB可以适应的最大复杂度是多少(实际机器有4个,但是JVM似乎无法分配2个以上)?

I would try a small size, determine how much memory it uses and keep doubling the size until you see a pattern. 我将尝试使用较小的大小,确定其使用的内存量,并继续将大小增加一倍,直到看到模式为止。 ie is it linear or super linear. 即是线性还是超线性。

BTW: My TV has 4 GB of memory, perhaps its time to get more memory if you need it. 顺便说一句:我的电视有4 GB的内存,如果需要的话,也许是时候获取更多的内存了。 ;) ;)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM