我需要存儲大型矩陣20000x20000
。當我嘗試初始化該順序的矩陣時,Python會引發內存錯誤。Numpy無法在內存中存儲大於1GB的矩陣
Traceback (most recent call last):
File "C:\Users\harwee\Desktop\Bubble\test_folder\test.py", line 3, in <module>
a = numpy.ones((x,x),dtype=int)
File "C:\Python27\lib\site-packages\numpy\core\numeric.py", line 183, in ones
a = empty(shape, dtype, order)
MemoryError
我的總RAM是8GB,當我檢查Taskmanager時,它顯示內存使用量大約爲1GB。爲什麼當內存可用時,python會引發內存錯誤。我的是蟒蛇32位版本
這裏是代碼我使用
import numpy
x= 16200
a = numpy.ones((x,x),dtype=int)
嘗試使用Python 64位,我認爲你已經達到32 –
的分配限制但是不應該是32位Python的2 GB? – Harwee
是的,但如果你有其他東西正在進行它將超載,並且分配空間需要連續性,請檢查我的答案 –