IPython中的MemoryError(使用Windows)
我一直在尝试在IPython中初始化一个整数的numpy数组,它是1000 x 1000 x 120,每次我得到一个IPython中的MemoryError(使用Windows),python,memory,numpy,Python,Memory,Numpy,我一直在尝试在IPython中初始化一个整数的numpy数组,它是1000 x 1000 x 120,每次我得到一个MemoryError。我不知道为什么会出现这种情况,因为它实际上并没有那么大的数组 我的代码很简单: bigLattice = np.zeros((numsimulations,end2+1,t+1)) 请告诉我是否有什么可以修复的,以便numpy可以访问更多内存。浮点数字的默认类型是float64,因此矩阵的大小是915Mb In [1]: a = np.zeros((100
MemoryError
。我不知道为什么会出现这种情况,因为它实际上并没有那么大的数组
我的代码很简单:
bigLattice = np.zeros((numsimulations,end2+1,t+1))
请告诉我是否有什么可以修复的,以便numpy可以访问更多内存。浮点数字的默认类型是float64,因此矩阵的大小是915Mb
In [1]: a = np.zeros((1000,1000,120))
In [2]: %whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `float64`, 960000000 bytes (915 Mb)
您可以在此处找到有关可用d类型及其限制的详细信息
如果只需要存储一个字节的整数值,则可以使用int8
值进行实例化:
np.zeros((1000,1000,120),dtype=np.int8)
这会将大小减少到114Mb:
%whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `int8`, 120000000 bytes (114 Mb
浮点数的默认类型是float64,因此矩阵的大小是915Mb
In [1]: a = np.zeros((1000,1000,120))
In [2]: %whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `float64`, 960000000 bytes (915 Mb)
您可以在此处找到有关可用d类型及其限制的详细信息
如果只需要存储一个字节的整数值,则可以使用int8
值进行实例化:
np.zeros((1000,1000,120),dtype=np.int8)
这会将大小减少到114Mb:
%whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `int8`, 120000000 bytes (114 Mb
浮点数的默认类型是float64,因此矩阵的大小是915Mb
In [1]: a = np.zeros((1000,1000,120))
In [2]: %whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `float64`, 960000000 bytes (915 Mb)
您可以在此处找到有关可用d类型及其限制的详细信息
如果只需要存储一个字节的整数值,则可以使用int8
值进行实例化:
np.zeros((1000,1000,120),dtype=np.int8)
这会将大小减少到114Mb:
%whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `int8`, 120000000 bytes (114 Mb
浮点数的默认类型是float64,因此矩阵的大小是915Mb
In [1]: a = np.zeros((1000,1000,120))
In [2]: %whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `float64`, 960000000 bytes (915 Mb)
您可以在此处找到有关可用d类型及其限制的详细信息
如果只需要存储一个字节的整数值,则可以使用int8
值进行实例化:
np.zeros((1000,1000,120),dtype=np.int8)
这会将大小减少到114Mb:
%whos
Variable Type Data/Info
-------------------------------
a ndarray 1000x1000x120: 120000000 elems, type `int8`, 120000000 bytes (114 Mb
这太完美了,谢谢!是否有方法使用大于255的整数值?uint16
或uint32
,具体取决于您的需要。uint16为228Mb,UINT32为457Mb。这太完美了,谢谢!是否有方法使用大于255的整数值?uint16
或uint32
,具体取决于您的需要。uint16为228Mb,UINT32为457Mb。这太完美了,谢谢!是否有方法使用大于255的整数值?uint16
或uint32
,具体取决于您的需要。uint16为228Mb,UINT32为457Mb。这太完美了,谢谢!是否有方法使用大于255的整数值?uint16
或uint32
,具体取决于您的需要。uint16为228Mb,uint32为457Mb