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不是很大。 –