1
我有通過一個數據集運行,並創建一個SciPy的稀疏矩陣而這又是使用保存的算法:numpy的負載OverflowError:長度太大
numpy.savez
和文件被打開,如:
open(file, 'wb')
。
基質可以得到相當大量的磁盤空間(花了大約20 GB運行30天)
在此之後,這些矩陣被加載到其他應用,如:
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
如果我能成功地創建並保存矩陣應該不是能也將加載的結果呢?是否有一些開銷會導致加載失敗?有可能解決這個問題嗎?
由於提前,