我有一个列表data_list
,我保存它如下:
data_array = np.array(data_list)
np.savez("File", data_array)
为了加载"File"
a = np.load("File.npz")
b = a['arr_0']
我使用这段代码直到两周前,它工作得很好。今天我试着用我的程序工作,但它以
行中识别的内存错误结束。 b = a['arr_0']
"File"大小为300mb。所以我不认为这是记忆的问题。
知道是怎么回事吗?
您要存储的数据是什么?使用形状/大小相似的np.randn会遇到同样的问题吗?
此外,知道您可以为使用np存储的数组分配名称可能很有用。通过将它们指定为kwargs来保存,即
np.savez("File", data_array=data_array)
则可以使用
a = np.load("File.npz")
b = a['data_array']
还要注意(iirc) np。Savez压缩文件,所以问题可能是由于数组的大小,即使结果文件不是那么大。