6

同时转储大矩阵(170000*20000)如下

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

我收到以下错误:

SystemError: error return without exception set

在这种情况下我将如何处理?

4

1 回答 1

5

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

你有几个选择:

  • 将数据分成块并将其存储在多个文件中
  • numpy.save
  • h5py <- 我最喜欢的,因为它方便的类似 numpy 的界面,加上存储的数据hdf5,可以与其他软件/语言进行互操作。
  • pytables
于 2016-07-07T12:53:07.357 回答