检查是否有足够的内存来分配我的变量

时间:2017-04-26 17:39:46

标签: python memory graph-theory

假设我有一个非常大的图G,我想找到距离矩阵,它只是一个二维数组。在我这样做之前,我想确保有足够的内存来分配我的二维数组。如果没有足够的内存,则引发内存错误。我不想浪费时间来计算距离矩阵并最终得到内存错误。

1 个答案:

答案 0 :(得分:1)

为此目的使用numpy是一种好习惯。肯定numpy数组将使用比标准列表更少的内存,可以控制用于权重的数据类型,实现了很多矩阵操作,如果你尝试分配太大的数组,你将获得异常。

>>> a = numpy.empty((100, 100))
>>> a = numpy.empty((100000000, 1000000000))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError