Sal*_*ali 11 python memory numpy
我正在使用numpy并试图创建一个巨大的矩阵.执行此操作时,我收到内存错误
因为矩阵并不重要,所以我将展示如何轻松重现错误的方法.
a = 10000000000
data = np.array([float('nan')] * a)
Run Code Online (Sandbox Code Playgroud)
毫不奇怪,这引起了我的兴趣 MemoryError
我想说两件事:
是否有一种简单的方法来处理numpy中的大矩阵?
为了安全起见,我之前阅读过这些帖子(听起来很相似):
PS显然我在数字的乘法和除法方面存在一些问题,这让我觉得我有足够的记忆.所以我觉得是时候睡觉了,复习数学,也许是为了买些记忆.
也许在这段时间里,一些天才可能想出如何使用仅仅24 Gb的Ram实际创建这个矩阵.
为什么我需要这个大矩阵 我不会对这个矩阵进行任何操作.我需要做的就是把它保存到pytables中.
Eri*_*ban 25
假设每个浮点数每个都是4个字节,那么你就有了
(10000000000 * 4) /(2**30.0) = 37.25290298461914
Run Code Online (Sandbox Code Playgroud)
或者你需要在内存中存储37.5千兆字节.所以我不认为24GB的RAM就足够了.
| 归档时间: |
|
| 查看次数: |
48498 次 |
| 最近记录: |