0

loadtxt('x.txt', delimiter=' ')サイズが 6,8 GB のファイルで使用しようとしています。これにより、メモリエラーが発生します。私のコンピュータには 8 GB のメモリが搭載されています。コンピューターのパフォーマンス メーターを見ると、3.4 GB のメモリしか使用されていないときに Python が既にエラー メッセージを表示していることがわかります。Python が諦める前に残りの 4.6 GB を使用しようとしないのはなぜですか?

あなたの!

Pあたり。

4

2 に答える 2

3

それはnumpy.loadtxtソース コードを見ると、配列にパックする前に、解析された行 (指定された型のリストまたはタプル) をリストにプッシュします。floatこれは、ファイルのサイズ、またはファイルからの値を含むパックされた配列のサイズよりも多くのメモリを消費します。8 GB RAM マシンで 64 ビット Python を使用しても、このファイルをロードできる可能性は低いと思います。

于 2012-08-25T18:18:50.133 に答える
0

Pythonはおそらく32ビットアーキテクチャでコンパイルされているため、4GBを超えるメモリを処理できませんでした。この問題を解決するには、64ビットOSに64ビットPythonをインストールします。

PS。アドレス空間の一部が予約されているため、彼は3.4(4 GBではない)をあきらめました。

于 2012-08-25T17:50:09.023 に答える