使用NP.savez和NP.load时出错

时间:2015-07-24 13:20:47

标签: python numpy

我有一个列表rvrsTail :: [x] -> [x] rvrsTail [] = [] rvrsTail (listHead : listTail) = listHead : reverse listTail ,我将其保存如下:

data_list

为了加载“文件”

    data_array = np.array(data_list)
    np.savez("File", data_array)

我使用此代码直到两周前它运行良好。 今天我尝试使用我的程序,但它以行

中标识的内存错误结束
    a = np.load("File.npz") 
    b = a['arr_0']

“文件”具有300 MB的尺寸。所以我不认为这是一个记忆问题。

有关它是如何发生的任何想法吗?

1 个答案:

答案 0 :(得分:0)

您要存储的数据是什么?你是否使用类似形状/大小的np.randn得到同样的问题?

此外,知道你可以通过将它们指定为kwargs来分配你用np.savez存储的数组的名称是很有用的,即

np.savez("File", data_array=data_array)

然后你可以使用

a = np.load("File.npz") 
b = a['data_array']

另外,请注意(iirc)np.savez压缩文件,因此问题可能是由于数组的大小,即使生成的文件不是很大。