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 64bit。
'res'は各ループでオーバーライドされます。私はこれがあなたの意図ではないと思いますか?あなたの最後の行は間違っています、 'w = numpy.mat(res、dtype = 'f8')'でなければなりません。 'ret'が元のコードでオーバーライドされない場合、結果のリストが大きいため、MemoryErrorを取得する可能性があります。 – schlamar
内側の2つのループは、 'r = np.random.random((ret、ret)) 'で置き換えることができます。 –
また、メモリエラーはnumpyではなく、ビルドしているリストから来ている可能性があります。ネストされたリストを使用して数値配列を作ることは、それを直接作ることよりもはるかに多くのメモリを使用します。 7000x7000はあまり大きくありません。 –