如何创建大的np.zeros矩阵?

时间:2019-05-12 13:46:13

标签: numpy memory-management out-of-memory google-colaboratory

当我尝试在具有12GB RAM的Colab中创建一个numpy矩阵时,我看到内存错误:

A = np.zeros((644253, 50, 259))

我该如何解决?

1 个答案:

答案 0 :(得分:1)

默认类型为np.float64,即8个字节。 GB大小为644253 * 50 * 259 * 8/1024 ** 3 = 62.16GB。您无法创建这样的矩阵,没有足够的内存。如果确实需要它,请添加很多交换内存,但是与RAM相比它会非常慢(可能会慢几个数量级)。您也可以尝试A = np.zeros((644253, 50, 259), type=np.float32)A = np.zeros((644253, 50, 259), type=np.int8)或所需的任何类型。这样可以节省内存。