Numpy加载溢出错误:长度太大

Numpy加载溢出错误:长度太大,numpy,matrix,persistence,scipy,Numpy,Matrix,Persistence,Scipy,我有一个算法,它通过数据集运行,并创建一个scipy稀疏矩阵,然后使用以下方法保存该矩阵: numpy.savez 并且该文件处于打开状态,例如: 打开(文件“wb”) 矩阵可以获得相当大的磁盘空间(运行30天大约需要20GB) 之后,这些矩阵将加载到其他应用程序中,例如: file = open(path_to_file, 'rb') matrix = load(file) data = matrix['arr_0'] ind = matrix['arr_1'] indptr = matrix

我有一个算法,它通过数据集运行,并创建一个scipy稀疏矩阵,然后使用以下方法保存该矩阵:

numpy.savez

并且该文件处于打开状态,例如:

打开(文件“wb”)

矩阵可以获得相当大的磁盘空间(运行30天大约需要20GB)

之后,这些矩阵将加载到其他应用程序中,例如:

file = open(path_to_file, 'rb')
matrix = load(file)
data = matrix['arr_0']
ind = matrix['arr_1']
indptr = matrix['arr_2']
10天来,它一直运转良好

当运行30天的数据集时,矩阵也成功创建和保存

但是当我尝试加载它时,我得到了一个错误:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/home/ubuntu/recsys/Scripts/Neighborhood/s3_CRM_neighborhood.py", line 76, in <module>
    data = matrix['arr_0']
  File "/usr/lib/python2.7/dist-packages/numpy/lib/npyio.py", line 241, in __getitem__
    return format.read_array(value)
  File "/usr/lib/python2.7/dist-packages/numpy/lib/format.py", line 458, in read_array
    data = fp.read(int(count * dtype.itemsize))
OverflowError: length too large
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/runpy.py”,第162行,在运行模块中作为主模块
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“/usr/lib/python2.7/runpy.py”,第72行,在运行代码中
run_globals中的exec代码
文件“/home/ubuntu/recsys/Scripts/neighborary/s3\u CRM\u neighborary.py”,第76行,在
数据=矩阵['arr_0']
文件“/usr/lib/python2.7/dist packages/numpy/lib/npyio.py”,第241行,在__
返回格式.读取数组(值)
文件“/usr/lib/python2.7/dist packages/numpy/lib/format.py”,第458行,以只读数组形式
data=fp.read(int(count*dtype.itemsize))
溢出错误:长度太大
如果我能成功地创建并保存矩阵,它难道不能加载结果吗?是否有一些开销会影响加载?有可能解决这个问题吗


提前感谢,

来自刚刚发布的:

IO与大文件的兼容性

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

大于2GB的大型NPZ文件可以加载到64位系统上


因此,您似乎遇到了一个刚刚解决的已知错误。

来自刚刚发布的:

IO与大文件的兼容性

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

大于2GB的大型NPZ文件可以加载到64位系统上

因此,您似乎遇到了一个刚刚解决的已知错误