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