Numpy: ndarray转储函数(和直接cPickle)对于大型阵列失败(Trac#18​​03)

创建于 2012-10-20  ·  8评论  ·  资料来源: numpy/numpy

_trac用户meawoppl在2011-04-19发出的原始工单http://projects.scipy.org/numpy/ticket/1803 ,已分配给未知对象。

a =零((300000,1000))
f =打开(“ test.pkl”,“ w”)

cPickle.dump(a,f)

SystemError跟踪(最近一次通话)

/ home / kddcup / code / matt / svd-projection / take5 /()

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

或使用.dump函数:

a.dump(“ test.pkl”)

SystemError跟踪(最近一次通话)

/ home / kddcup / code / matt / svd-projection / take5 /()

SystemError:NULL结果,PyObject_Call中没有错误

我不确定这是一个小小的问题还是Pickle / cPickle故障。 在任何一种情况下,更具指导性的错误消息肯定会有所帮助。 我认为问题只发生在大于2 **(32-1)个字节的数组上,但是我必须做更多实验才能确定。

00 - Bug Other

所有8条评论

我也面临这个问题。

@zhlsk没有进一步尝试或调查过python中是否有修复程序,但是我认为这不是一个numpy而是一个python问题,因为: cPickle.dump(a.tostring(), f)对我来说也一样失败,那就是一个大问题则为字符串,与numpy无关。 但是,使用numpy保存功能应该不会出现此类问题。

@seberg感谢您的答复。 你是对的。 这是python问题: http :

原则上,我们可以通过传递较大的值来解决该错误
数组作为选择器的一系列对象,每个对象都适合
限制,并在不拖延的时间重建阵列。 听起来像
限制是单个字节数组的大小。
2012年12月14日22:11,“ zhlsk” [email protected]写道:

@seberg https://github.com/seberg感谢您的回复。 你是对的。
这是python问题: http :

-
直接回复此电子邮件或在Gi tHub上查看它

有什么进展吗? 似乎numpy.savenumpy.savetxt都受此问题影响。 任何解决方法?

这是Python中的错误,修复程序是升级到新版本(在Python 3.3中已修复),解决方法是将数组自己腌制成较小的部分,或使用Python腌制以外的其他文件格式。

np.savetxt不受此影响,并且np.save仅受对象数组影响。

闭幕。

当尝试以scipy.sparse.csr_matrix格式存储11,314 x 8,463,980,778稀疏矩阵和352,451,719个存储元素时,出现了此错误。 Python版本:Python 2.7.10 | Anaconda 2.3.0(x86_64)| (默认值,2015年5月28日,17:04:42)

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

MareinK picture MareinK  ·  3评论

Levstyle picture Levstyle  ·  3评论

qualiaa picture qualiaa  ·  3评论

astrofrog picture astrofrog  ·  4评论

Kreol64 picture Kreol64  ·  3评论