上面的问题是出现在保存大的矩阵,使用如下代码时出的问题:
import pickle as pkl
import numpy as np
a = no.zeros((10000,2**31))
f=open('./test.pkl','wb')
pkl.dump(a,f)
f.close()
查了一些资料,出现的问题的原因就是保存的时候,内存不够,所以需要才用压缩格式的数据进行存储,比如h5py:
import pickle as pkl
import h5py
a = no.zeros((10000,2**31))
f=h5py.File('./test.pkl','w')
f['data'] = a #类似json的存储方式,要指定一个键值,这里将a存储到‘data’下。
f.close()