Numpy随机内存错误

Numpy random memory error

您好,我有一条简单的线可以为相当大的数据集创建一个随机数组:

import numpy as np
import random
N=276233
L=138116

np.random.random([L,N])

但是我得到这个错误:

Traceback (most recent call last):
  File "<string>", line 3 (23), in <module>
  File "mtrand.pyx", line 760, in mtrand.RandomState.random_sample (numpy\random\mtrand\mtrand.c:5713)
  File "mtrand.pyx", line 137, in mtrand.cont0_array (numpy\random\mtrand\mtrand.c:1300)
MemoryError

解法是什么,数组的极限是多少?

您正在尝试创建一个需要 284GB 内存的数组:

In [16]: L * N * 8 / (1024. ** 3)
Out[16]: 284.25601890683174

要么购买更多 RAM(并确保您的系统可以处理它),要么想办法不必生成 276,233x138,116 矩阵。