cPickle:SystemError:错误返回没有异常设置

the*_*tna 6 ubuntu gzip pickle system-error

倾倒大矩阵(170000*20000)如下

 cPickle.dump(train_set,gzip.open('train.pickle.gz','wb'), cPickle.HIGHEST_PROTOCOL)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

SystemError: error return without exception set
Run Code Online (Sandbox Code Playgroud)

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

sch*_*eon 5

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

你有几个选择:

  • 将数据拆分为块并将其存储在多个文件中
  • numpy.save
  • h5py < - 我最喜欢的,因为它具有方便的类似numpy的界面,而且存储的数据hdf5可以与其他软件/语言互通.
  • pytables