1

我正在研究 Encog(Java 版本 3.0 和 3.1)神经网络框架,并想在我的神经网络训练中尝试 Levenberg-Marquardt 算法。然而,我的实际神经网络非常复杂自然(具有数百个输入神经元),而不是单个(我已经从数万个简化到 136 个)网络似乎可以用 Levenberg-Marquardt 训练(说没有足够的内存,而我将 2 GiB 专用于 JVM)。但是当我尝试使用简单(只有 3 个输入神经元)网络的简单合成任务时,它的表现非常好。

问题是如何估计 Encog 使用 Levenberg-Marquardt 算法用特定样本集训练特定网络所需的内存量?我怎么能猜出 2 GiB 中可以容纳的最大复杂度是多少(实际机器有 4 个,但 JVM 似乎无法分配超过 2 个)?

4

1 回答 1

5

我会尝试一个小尺寸,确定它使用了多少内存,并继续将尺寸翻倍,直到你看到一个模式。即它是线性的还是超线性的。

顺便说一句:我的电视有 4 GB 内存,如果你需要的话,也许是时候获得更多内存了。;)

于 2012-03-27T07:08:47.730 回答