【发布时间】:2014-09-16 19:04:11
【问题描述】:
我有一个大的 scipy 稀疏矩阵,它占用了我总系统内存的 90% 以上。我想将其保存到磁盘,因为构建矩阵需要数小时...
我试过 cPickle,但这会导致内存大爆炸...
import numpy as np
from scipy.sparse import lil_matrix
import cPickle
dim = 10**8
M = lil_matrix((dim, dim), dtype=np.float)
with open(filename, 'wb') as f:
cpickle.dump(M, f) # leads to a major memory explosion, presumably there is lots of copying
虽然 HDF5 不喜欢数据类型:TypeError: Object dtype dtype('O') has no native HDF5 equivalent
那我该怎么办?
【问题讨论】:
-
scipy.io有一个savemat函数,可以将稀疏矩阵保存为 MATLAB 兼容格式。还有loadmat可以重新加载它们。
标签: python numpy scipy hdf5 pytables