0
什么是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:我使用最后的python和numpy可用于Windows(是的,我知道...)7 64位。
'res'在每个循环中被覆盖。我认为这不是你的意图?你的最后一行是错误的,它应该是'w = numpy.mat(res,dtype ='f8')'。如果你的原始代码中没有覆盖'ret',你可能会得到一个MemoryError,因为结果列表很大。 – schlamar
你内在的两个循环可以用'r = np.random.random((ret,ret)'代替' –
另外,你的内存错误可能来自你正在建立的列表,而不是numpy。使用嵌套列表制作一个numpy数组将比直接使用更多的内存。 7000x7000不是很大。 –