cPickle:SystemError:未设置异常返回的错误

6

在将大矩阵(170000 * 20000)倒出如下时

 cPickle.dump(train_set,gzip.open('train.pickle.gz','wb'), cPickle.HIGHEST_PROTOCOL)

我遇到了以下错误:

SystemError: error return without exception set

我该如何处理这种情况?
1个回答

5

cPickle无法用于存储非常大的对象(请参见http://bugs.python.org/issue11564)。

您有几个选择:

  • 将数据分成块并将其存储在多个文件中
  • numpy.save
  • h5py<- 我最喜欢的是它方便的类似于numpy的接口,而且数据存储在hdf5中,可以与其他软件/语言进行互操作。
  • pytables

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接