私は次の問題を抱えています:13M + nnz個の要素と約サイズのベクトルを含む非常に大きな疎行列を持っています。 99k +。これは、反復的に乗算し、それが動作するcrsマトリックスで保存するときですが、完了するのに3時間かかります。したがって、私はベクトルを対角行列に変換するので、直接2を掛けることができます。しかし、私は常にメモリエラーを起こしています(64ビットオペレーティングシステムの8 GB RAM)。ここに私のコードです:メモリエラー:2つの行列を掛ける
GG=list(chain.from_iterable(list(IDFMatrix.data)))
dictDocFreqMat=TermFreq.dot(GG) #memory Error
for i in range(counter):
TermFreqCsr[i,:]=TermFreq[i].multiply(GG) # Takes 3 hours
progessbar.update(1)
progessbar.close()
問題についてのアドバイスはありますか?
理由は簡単です。あなたはより多くを得るか、より少なく使うためにあなたのプログラムを最適化します。 –