除了RAM之外,还有哪些因素限制了Numpy阵列的大小?它们可以调整吗?

2024-04-26 22:36:47 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我创建一个数组:

a=np.ones((21600,13,3,128),dtype=complex)

我记错了。你知道吗

如果我是数组大小的一半(注意,在我的计算机上创建此数组需要10分钟以上):

b=np.ones((10800,13,3,128),dtype=complex)

其大小(GB)为:

b.nbytes/1024**3 = 0.803375244140625 GB

这远远低于我笔记本电脑中的内存量(2GB)-因此,我认为创建“a”应该是可行的。有什么限制因素阻止我处理这么大的数组?你知道吗

理想情况下,我想用dtype=complex创建一个形状(86400,13,3,128)的数组。你知道吗

有没有办法做到这一点而不把它分开?你知道吗


Tags: 内存计算机npones情况数组笔记本电脑因素
1条回答
网友
1楼 · 发布于 2024-04-26 22:36:47

如果你的笔记本电脑有2GB的ram,a会占用1.6的内存,那么内存不足的可能性就相当大了。Windows,你的浏览器,邮件等等都已经需要很多了。你知道吗

另外,numpy还需要一个1.6gb的连续内存块。 这样就更不可能有这么大的障碍。你知道吗

如果您的应用程序/用例允许,尝试将数据存储在稀疏矩阵中可能是值得的。这只存储非零元素-这可以节省大量内存(或不存储): http://docs.scipy.org/doc/scipy/reference/sparse.html

相关问题 更多 >