2014-04-06 86 views
3

我目前正在編寫一些神經網絡的巨大數據集,例如MNIST數據集(約700 * 50000)。但是當我測試它時,我的代碼得到了MemoryError。我有一臺配備12 GB RAM的電腦,但我認爲Python或Numpy無法使用它們全部。增加NumPy內存限制

我可以推Python或Numpy來使用我的電腦中所有剩餘的可用內存嗎?

操作系統:Windows 7 64位

的Python:Python的(X,Y)60年7月2日

感謝

+0

可能重複: [限於蟒蛇VM內存(http://stackoverflow.com/questions/1760025/limit-python-vm-memory) 你也可以使用Python綁定的Win32設置最大內存一個進程的使用[內存限制](http://grokbase.com/t/python/python-win32/04bc6stmqr/memory-limits) – user555742

回答

5

我認爲Python的(X,Y)的Python的分佈尚只有32位版本(64-bit support is still on its roadmap),所以即使您使用的是64位操作系統,也僅限於32位地址空間。您需要安裝一個64位版本的Python和numpy二進制文件才能訪問更多內存。

+0

owh好吧,我現在可以使用的最大內存是多少? – psuedobot

+1

也許2 Gb的整個過程。在實踐中,由於地址空間碎片化,您可以分配的陣列的最大大小將大大減少。考慮安裝標準的[Python的64位版本](https://www.python.org/download/releases/2.7.6),並安裝來自[Christoph Gohlke](http://www.lfd)的64位numpy .uci.edu /〜gohlke/pythonlibs /)。 –

+1

如果我使用64位Windows的Anaconda python分發版,我可以充分利用我的64位系統嗎?或者NumPy仍然有相同的限制? – psuedobot