我正在使用 numpy 并尝试创建一个巨大的矩阵。执行此操作时,我收到内存错误
因为矩阵并不重要,我将只展示如何轻松重现错误的方法。
a = 10000000000
data = np.array([float('nan')] * a)
毫不奇怪,这让我很震惊MemoryError
有两件事我想告诉你:
- 我真的需要创建和使用一个大矩阵
- 我想我有足够的 RAM 来处理这个矩阵(我有 24 Gb 或 RAM)
有没有一种简单的方法来处理 numpy 中的大矩阵?
为了安全起见,我之前读过这些帖子(听起来很相似):
PS显然我对数字的乘法和除法有些问题,这让我觉得我有足够的内存。所以我想是时候睡觉了,复习数学,可能是买一些内存。
可能在这段时间里,一些天才可能会想出如何仅使用 24 Gb 的 Ram 来实际创建这个矩阵。
为什么我需要这个大矩阵 我不会对这个矩阵做任何操作。我需要做的就是将它保存到pytables中。