我需要在numpy数组中存储大量信息。它需要具有以下形状:
facefeature1s = np.empty([2000,64,64,64,32])
当我运行它时,我收到内存错误。我该怎么办?
错误是:
MemoryError Traceback (most recent call last)
<ipython-input-271-2c56a37b4a7c> in <module>()
----> 1 facefeature1s = np.empty([2000,64,64,64,32])
答案 0 :(得分:8)
@Jaime在评论中说,你的阵列太大了。如果你真的需要这么庞大的阵列,你可以使用numpy.memmap()
使用硬盘来处理阵列:
a = np.memmap('filename.myarray', dtype=np.float64, mode='w+',
shape=(2000, 64, 64, 64, 32))
下次打开数组时,请使用mode='r'
或mode='r+'
。