人工ニューラル ネットワークを学習するためのプログラムがあり、トレーニング データとして 2 次元の numpy 配列を使用します。使用したいデータ配列のサイズは、約 300,000 x 400 float です。私が使用しているライブラリ (DeepLearningTutorials) はトレーニング データとして単一の numpy 配列を使用するため、ここではチャンキングを使用できません。
このプロセスによる RAM 使用量が約 1.6Gb の場合 (システム モニターで確認しました)、コードは MemoryError を示しますが、合計 RAM は 8GB です。また、システムは Ubuntu-12.04 32 ビットです。
または他の同様の質問の回答を確認しましたが、Pythonプログラムにメモリを割り当てるようなものは何もないと言われ、プロセスメモリを増やす方法についての回答が明確ではありません。
興味深い点の 1 つは、同じコードを別のマシンで実行していて、ほぼ 1,500,000 x 400 の浮動小数点数の numpy 配列を問題なく使用できることです。もう一方のマシンが 64 ビットで、こちらのマシンが 32 ビットであることを除いて、基本的な構成は似ています。
なぜこれに大きな違いがあるのか 、それともこれが私の問題の唯一の理由なのかについて、誰かが理論的な答えを教えてください。