numpy矩阵的最大元素/大小?

时间:2011-07-20 08:20:30

标签: python windows memory-management matrix numpy

numpy矩阵的最大元素/大小写是什么?numpy矩阵的最大大小是什么?

上面的代码在可变矩阵大小时返回内存错误...所以它依赖于什么环境因素(可用内存的连续数量?)?

for ret in xrange(5000,7000,50):

   res = []
   for x in xrange(ret):
       temp=[]
       for y in xrange(ret):
           temp.append(random.random())
       res.append(temp)

  print "r"
  r = numpy.mat(res)
  print "s"
  s = numpy.mat(res,dtype='f4')
  print "t"
  w = numpy.mat(res,dtype('f8'))

问题:何时以及为何返回“内存错误”?

ps:我在Windows上使用最后一个python和numpy(是的,我知道......)7 64位。

1 个答案:

答案 0 :(得分:1)

请参阅Upper memory limit?

至于何时返回内存错误,答案是为其中一个大对象分配内存。它可以是任何一个,因为在分配res的后续行时,你将获得比以往更高的内存量,因为numpy矩阵在你用完之前不会被垃圾收集将rst指向另一个对象(在下一次迭代中创建的新矩阵)。