我有一个学习人工神经网络的程序,它需要一个二维 numpy 数组作为训练数据。我要使用的数据数组的大小约为 300,000 x 400 浮点数。我不能在这里使用分块,因为我正在使用的库 (DeepLearningTutorials) 将单个 numpy 数组作为训练数据。
当此进程的 RAM 使用量约为 1.6Gb 时,代码显示 MemoryError(我在系统监视器中检查了它),但我的总 RAM 为 8GB。此外,该系统是 Ubuntu-12.04 32 位。
我检查了或其他类似问题的答案,但在某处它说没有什么比为你的 python 程序分配内存和某处关于如何增加进程内存的答案不清楚。
一件有趣的事情是我在另一台机器上运行相同的代码,它可以毫无问题地采用几乎 1,500,000 x 400 浮点数的 numpy 数组。基本配置类似,只是另一台机器是 64 位的,而这台机器是 32 位的。
有人可以给出一些理论上的答案,说明为什么会有这么大的差异,或者这是我的问题的唯一原因吗?